home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 050a / vi56a1.zip / VIMANUAL.DOC < prev    next >
Text File  |  1991-05-05  |  110KB  |  3,037 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                         OAK HILL VI (TM) SHAREWARE MANUAL
  8.                       _______
  9.                  ____|__     |               (R)
  10.               --|       |    |-------------------
  11.                 |   ____|__  |  Association of
  12.                 |  |       |_|  Shareware
  13.                 |__|   o   |    Professionals
  14.               -----|   |   |---------------------
  15.                    |___|___|    MEMBER
  16.         
  17.         
  18.         PLEASE READ THIS LICENSE AGREEMENT AND DISCLAIMER BEFORE USING
  19.         OAK HILL VI SHAREWARE.  USING THE PROGRAM CONSTITUTES YOUR
  20.         ACCEPTANCE OF THE TERMS OF THIS AGREEMENT AND THE ACCOMPANYING
  21.         DISCLAIMER.
  22.                              LICENSE AGREEMENT
  23.     
  24.     1. SHAREWARE:  This is shareware.  You may try this software and
  25.     manual free of charge for thirty days.  If you continue to use the
  26.     software beyond thirty days, you must register with Oak Hill
  27.     software.  The registration fee is $60.  In return for this fee you
  28.     will receive the latest version of the software on disk, a type-set-
  29.     quality printed manual, a registration number, and support by mail.
  30.     
  31.     2. COPYING:  Whether you decide to keep the software or not, you
  32.     may copy the shareware file (VI56A1.ZIP) containing the programs,
  33.     manual, and other files (see Appendix) and pass it along to others
  34.     subject to the following restriction: THE ENTIRE SHAREWARE ZIP FILE
  35.     MUST BE COPIED WITHOUT MODIFICATION INCLUDING ALL CONTAINED FILES,
  36.     COPYRIGHT, LICENSE, AND LEGAL NOTATIONS.
  37.     
  38.     3. CHARGING FEES:  No one other than Oak Hill Software may charge
  39.     any fee for the distribution of Oak Hill Vi (TM) without first
  40.     obtaining authorization from Oak Hill Software Inc at 73 Hillyer
  41.     Circle, Middletown, NJ, 07748, 908-671-8544.  This authorization is
  42.     automatically granted to distributors recognized by the (ASP) as
  43.     adhering to its guidelines for shareware distributors, and such
  44.     distributors may begin offering Oak Hill Vi immediately.
  45.     
  46.     4. COMMERCIAL USERS:  Commercial users of Oak Hill Vi (TM) must
  47.     register and pay for their copies of Oak Hill Vi within 30 days of
  48.     first use or their license is withdrawn.  Site-License arrangements
  49.     may be made by contacting Oak Hill Software.
  50.       
  51.                                   DISCLAIMER
  52.     
  53.     THIS SOFTWARE AND ITS ACCOMPANYING REFERENCE MATERIAL ARE
  54.     DISTRIBUTED "AS IS", WITHOUT WARRANTY AS TO THEIR PERFORMANCE,
  55.     MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE.  THE ENTIRE
  56.     RISK AS TO THE RESULTS AND PERFORMANCE OF THE PROGRAM IS ASSUMED BY
  57.     THE USER.
  58.     
  59.     NEITHER OAK HILL SOFTWARE, NOR ANYONE WHO SUPPLIES COPIES OF THE
  60.     OAK HILL VI SOFTWARE OR MANUAL, SHALL BE LIABLE FOR INDIRECT,
  61.     SPECIAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OF THE
  62.     PROGRAM OR MANUAL.
  63.  
  64.  
  65.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  66.  
  67.  
  68.  
  69.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 2
  70.  
  71.  
  72.     
  73.                OAK HILL VI SHAREWARE REGISTRATION FORM
  74.     
  75.     REMINDER:  THIS IS SHAREWARE.  IT IS NOT FREE.  If you continue to
  76.     use the software beyond your 30-day free-trial period, you must
  77.     register.  If you register you will receive the latest version of
  78.     the program on disk, a type-set-quality printed manual, and a
  79.     registration number that allows you to receive support-by-mail.
  80.     
  81.     To register, please fill out this form and mail it with check or
  82.     money order for $60 to Oak Hill Software at the address below.
  83.     Please do not send cash.
  84.     
  85.     NAME:__________________________________________________________
  86.     
  87.     COMPANY:_______________________________________________________
  88.     
  89.     ADDRESS:_______________________________________________________
  90.     
  91.     CITY, STATE, ZIP:______________________________________________
  92.     
  93.     PROGRAM OBTAINED FROM:_________________________________________
  94.     
  95.     COMPUTER BRAND & MODEL:________________________________________
  96.     
  97.     DISK SIZE PREFERRED (5-1/4 or 3-1/2):___________________________
  98.     
  99.     WHERE YOU HEARD ABOUT OAK HILL VI:_____________________________
  100.     
  101.     TODAY'S DATE: _________________________________________________ 
  102.     
  103.     
  104.     (5.6 91-04-10)               Oak Hill Software
  105.                                       73 Hillyer Circle
  106.                                     Middletown, NJ 07748
  107.                                     908-671-8544
  108.     
  109.     COMMENTS OR QUESTIONS:_____________________________________________
  110.     
  111.     ___________________________________________________________________
  112.     
  113.     ___________________________________________________________________
  114.     
  115.     ___________________________________________________________________
  116.     
  117.     ___________________________________________________________________
  118.     
  119.     ___________________________________________________________________
  120.     
  121.     ___________________________________________________________________
  122.     
  123.     ___________________________________________________________________
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  132.  
  133.  
  134.  
  135.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 3
  136.  
  137.  
  138.     
  139.                               CONTENTS
  140.     
  141.     ====================================================================
  142.     
  143.      1.0 INTRODUCTION ..............................................  4
  144.          1.1 GETTING STARTED .......................................  6
  145.          1.2 STANDARD AND COMPACT MODELS OF OAK HILL VI.............  6
  146.          1.3 FILE NAMING AND EDITING MULTIPLE FILES ................  8
  147.          1.4 SPECIAL FEATURES FOR LAPTOP PORTABLES .................  8
  148.          1.5 BUGS AND NEW FEATURES .................................  9
  149.     
  150.      2.0 COMMAND SUMMARY ........................................... 10
  151.          2.1 MOVING AROUND IN YOUR FILE ............................ 10
  152.          2.2 FINDING TEXT PATTERNS ................................. 13
  153.          2.3 INSERTING AND APPENDING TEXT .......................... 14
  154.          2.4 DELETING TEXT ......................................... 14
  155.          2.5 CHANGING TEXT ......................................... 15
  156.          2.6 YANKING (COPYING) TEXT INTO YANK/DELETE BUFFER ........ 17
  157.          2.7 OTHER TEXT MODIFICATION COMMANDS ...................... 18
  158.          2.8 WRITING, READING AND EXITING COMMANDS ................. 22
  159.          2.9 OPTION-SETTING AND OTHER COMMANDS ..................... 25
  160.          2.10 IBM EDIT KEYS ........................................ 30
  161.  
  162.      3.0 LINE RANGE SPECIFICATION .................................. 31
  163.  
  164.      4.0 TEXT FILL AND CENTERING FEATURES .......................... 32
  165.          4.1 TEXT FILL FEATURE ..................................... 32
  166.          4.2 TEXT CENTERING FEATURE................................. 34
  167.  
  168.      5.0 SETUP FILE "VISETUP.VI" ................................... 35
  169.  
  170.      6.0 MEMORY AND FILE SIZE CONSIDERATIONS ....................... 36
  171.  
  172.       7.0 "SLICE" UTILITY PROGRAM ................................... 38
  173.  
  174.      8.0 "PAGE" TEXT PROCESSING PROGRAM ............................ 40
  175.  
  176.      9.0 OAK HILL Vi (TM) AND UNIX (TM ) Vi ........................ 42
  177.     
  178.      10.0 MISCELLANEOUS INFORMATION ................................ 42
  179.     
  180.      11.0 COMMAND INDEX AND QUICK REFERENCE ........................ 44
  181.     
  182.     ====================================================================
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  198.  
  199.  
  200.  
  201.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 4
  202.  
  203.  
  204.                 
  205.     1.0 INTRODUCTION
  206.     ======================================================================
  207.         Thank you for trying Oak Hill Vi (TM). This reference document
  208.         introduces the program and lists the commands available on the
  209.         current version.
  210.  
  211.         Oak Hill Vi (TM) is designed to work on the IBM PC/XT/AT, IBM PS/2,
  212.         and virtually all IBM Compatibles.  (See following section for some
  213.         possible exceptions.)
  214.  
  215.         Oak Hill Vi (TM) provides a large subset of the the standard UNIX
  216.         (UNIX is a trademark of AT&T) vi editor capabilities, and within
  217.         that subset attempts to mimic the command syntax and operation of
  218.         the UNIX vi editor as closely as possible.  It also provides
  219.         paragraph formatting, line centering, and case conversion features
  220.         not found in standard UNIX vi.
  221.  
  222.         If you do not already know how to use a vi editor, a good way to
  223.         learn is to work through the commands on a practice file.  Don't be
  224.         intimidated by the long list of commands -- no one uses all of
  225.         them, and many are just synonyms for other commands.  If you are
  226.         uncertain which commands to learn first, we recommend that you
  227.         start with those that marked with an arrow "->" in the margin.
  228.         While editing preferences vary from person to person, these are
  229.         among the most commonly used vi commands.  Whether you are a
  230.         beginner or an advanced user, you should find the Command Index
  231.     and Quick Reference in Section 10 to be useful.
  232.         
  233.         Beginners who would like a formal tutorial should consult standard
  234.         UNIX literature and primers on vi.  One good source is "Editing
  235.         in a UNIX Environment -- The vi/ex Editor", by Mohammed el Lozy,
  236.         Prentice Hall, 1985.
  237.     
  238.     
  239.     REMINDER:  THIS IS SHAREWARE.  IT IS NOT FREE.  If you continue to
  240.     use the software beyond your 30-day free-trial period, you must
  241.     register.  If you register you will receive the latest version of
  242.     the program on disk, a type-set-quality printed manual, and a
  243.     registration number that allows you to receive support-by-mail.
  244.     See the registration form above.
  245.     
  246.     Whether or not you continue to use the software (and therefore
  247.     register), you are free to pass along the shareware ZIP file
  248.     VI56A1.ZIP to others or to upload it to any bulletin board system
  249.     (BBS).  Note that you may pass along ONLY the original unmodified
  250.     ZIP file.  If you do not have that file, you may download it from
  251.     the CompuServe IBMAPP Forum, Text Editor section.  It is the
  252.     intention of Oak Hill Software to keep an updated shareware ZIP
  253.     file in that location.
  254.     
  255.     A Commercial shrink-wrap version of Oak Hill Vi (TM), called
  256.     "Personal Vi" is available in a standard shrink-wrap software
  257.     binder from Advantage Software, 1-800-333-3141, or Personalized
  258.     Software, 515-472-6330, Master Card & Visa accepted.  Corporate
  259.     purchasers may call Corsoft at 908-389-1700.  Or you may call Oak
  260.     Hill Software directly at 908-671-8544.
  261.     
  262.  
  263.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  264.  
  265.  
  266.  
  267.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 5
  268.  
  269.  
  270.      INTRO-SCREEN PAUSE DEFEAT:  Aside from a shareware-specific
  271.      greeting message that appears when you first load Oak Hill Vi (TM),
  272.      this shareware version of the software is identical to the
  273.      Registered and Commercial versions.  After the greeting is
  274.      displayed you are prompted for a carriage return to continue the
  275.      program.  If you find it annoying to have to press the return key,
  276.      the command ":set nopress" may be added to your VISETUP.VI file to
  277.      remove the need for the carriage return (see Sections 5.0 and 2.9).
  278.      Thereafter, the greeting message will appear only while your text
  279.      files are being read into memory.
  280.  
  281.     NOTICE: Oak Hill Software, Inc. is a member of the Association of
  282.     Shareware Professionals (ASP).  ASP wants to make sure that the
  283.     shareware principle works for you.  If you are unable to resolve a
  284.     shareware-related problem with an ASP member by contacting the
  285.     member directly, ASP may be able to help.  The ASP Ombudsman can
  286.     help you resolve a dispute or problem with an ASP member, but does
  287.     not provide technical support for members' products.  Please write
  288.     to the ASP Ombudsman at 545 Grover Road, Muskegon MI 49442-9427or
  289.     send a Compuserve message via easyplex to ASP Ombudsman 70007,3536
  290.                     
  291.                     Oak Hill Software, Inc.
  292.                     73 Hillyer Circle
  293.                     Middletown, NJ 07748
  294.                     908-671-8544
  295.     
  296.                               _______
  297.                          ____|__     |               (R)
  298.                       --|       |    |-------------------
  299.                         |   ____|__  |  Association of
  300.                         |  |       |_|  Shareware
  301.                         |__|   o   |    Professionals
  302.                       -----|   |   |---------------------
  303.                            |___|___|    MEMBER
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  330.  
  331.  
  332.  
  333.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 6
  334.  
  335.  
  336.     1.1 GETTING STARTED
  337.     --------------------------------------------------------------
  338.     To get started, simply copy the shareware file VI56A1.ZIP to a
  339.     convenient directory and use an unzipping program (such as PKUNZIP)
  340.     to extract the files listed in the table below.
  341.  
  342.     FILE           PURPOSE
  343.     -----------------------------------------------------------
  344.     VIMANUAL.DOC   This manual text file
  345.  
  346.     VI_STD.EXE     Oak Hill Vi Standard Model (Video-RAM version)
  347.     VI_CMP.EXE     Oak Hill Vi Compact Model (ANSI.SYS version)
  348.     
  349.     VISETUP.VI     Sample IBM/Compatible Setup File 
  350.  
  351.     SLICE.EXE      A utility program to help view and "slice up" 
  352.                       large files (Section 6)
  353.     PAGE.EXE       A utility program to produce "paged" 
  354.                       output for simple word processing (Section 7)
  355.     CR_CRLF.EXE    A utility program to convert non-standard
  356.                           text files to standard DOS ASCII files
  357.     TRANS.PVI      Sample character translation table for use
  358.                        with PAGE.EXE
  359.  
  360.     VIREADME.DOC   File containing latest Oak Hill Vi information
  361.     VENDOR.DOC     File with information for software distributors
  362.     SYSOPBBS.DOC   File with information for BBS Sysops
  363.     PACKING.LST    File with list of files included in VI56A1.ZIP
  364.  
  365.         REGISTER.DOC   File with form and information on registering
  366.     
  367.         For IBM and most compatible computers, simply copy VI_STD.EXE into
  368.         your working directory or "BIN" directory and give it a convenient
  369.         name such as VI.EXE.  We recommend that you also copy the sample
  370.         VISETUP.VI file provided, although it is not required.
  371.  
  372.         For example, for an IBM PC/XT/AT, PS/2 or compatible, assuming
  373.         the expanded files are on a disk in drive A and your hard disk
  374.         is drive C, the commands would be
  375.  
  376.         COPY  A:VI_STD.EXE C:\BIN\VI.EXE
  377.         COPY  A:VISETUP.VI C:\BIN\VISETUP.VI
  378.  
  379.         To edit a file called "foo", simply issue the command "VI FOO".
  380.  
  381.         If you have difficulty making VI_STD.EXE work, it could be that
  382.         your computer is a (now-rare) machine that is not video-RAM
  383.         compatible with the IBM.  In that case, try the VI_CMP.EXE version
  384.         as outlined below.  This version uses the ANSI.SYS driver and
  385.         should work with any machine ever advertised as "IBM Compatible".
  386.         If you have continued difficulty, please contact Oak Hill Software.
  387.         
  388.     
  389.     1.2 STANDARD AND COMPACT MODELS OF OAK HILL VI
  390.     ---------------------------------------------------------------------
  391.     In most cases you should use the Standard Model of Oak Hill Vi
  392.     (TM), VI_STD.EXE.  The Standard Model produces fast screen updates
  393.     and allows you to edit large files (up to 250,000 characters).
  394.  
  395.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  396.  
  397.  
  398.  
  399.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 7
  400.  
  401.  
  402.     However, in some situations, you may prefer the Compact Model, as
  403.     described below.
  404.  
  405.     The Compact Model, VI_CMP.EXE, contains all the commands and
  406.     features of the Standard Model, while occupying 35% to 40% less
  407.     disk space.  This can be an advantage if disk space is at a
  408.     premium, as it is in some laptop computers with RAM disks.  The
  409.     Compact Model may also be the appropriate choice if you plan to use
  410.     Oak Hill Vi (TM) in conjunction with Terminate-and-Stay-Resident
  411.     programs (see Section 6.0).  Furthermore, the Compact Model should
  412.     work with any computer that is advertised as "IBM-Compatible",
  413.     including older machines that may not be 100% compatible with the
  414.     IBM video RAM.  
  415.  
  416.     The disadvantages of the Compact Model are that (1) it cannot edit
  417.     files as large as those for the Standard Model, (2) it produces
  418.     slower screen updates than the Standard Model, and (3) it takes
  419.     longer to load and execute than the Standard Model.
  420.  
  421.     To use the Compact Model, you MUST have the line
  422.  
  423.         DEVICE=ANSI.SYS
  424.  
  425.     in a CONFIG.SYS file in the root directory of the MS-DOS disk you
  426.     use to boot your system. Likewise, the driver ANSI.SYS, supplied
  427.     with your DOS disk, must be in that same directory.
  428.  
  429.     A simple way to add the required line to CONFIG.SYS is to enter the
  430.     root directory on the disk that you use to boot your system and
  431.     enter the following:
  432.  
  433.         type con >> config.sys
  434.         device=ansi.sys
  435.         ctl-z
  436.  
  437.     (The last line is a single "control-Z" character). This will append
  438.     the necessary line to an existing CONFIG.SYS file (or create a
  439.     CONFIG.SYS file if one does not exist).
  440.  
  441.     Oak Hill Vi (TM) does all editing on buffers stored in a core
  442.     memory "heap".  Except when reading and writing files, or when
  443.     using external filters via the '!' command, the program does not
  444.     access disk storage.  This has the advantage of making the program
  445.     very fast, as well as reducing the power consumption and noise
  446.     level in battery-powered lap-top portable computers with floppy
  447.     disk drives.  It has the disadvantage of limiting the maximum-size
  448.     file you can edit.
  449.  
  450.     The maximum file sizes that can be edited with the two models are 
  451.     as follows --
  452.  
  453.                    Approximate        Available
  454.             Max File Size        Machine Memory
  455.     ---------------------------------------------------------
  456.     Standard Model    250,000 characters    640K bytes
  457.     Compact Model     35,000 characters    140K bytes
  458.  
  459.     The two Models are identical except for the maximum amount of
  460.  
  461.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  462.  
  463.  
  464.  
  465.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 8
  466.  
  467.  
  468.     memory "heap" that each program can manage for buffer storage of
  469.     the file you are editing. Because the Compact Model addresses
  470.     memory with 16-bit pointers, it can address no more than 64K of
  471.     heap. This makes the program more compact to store than on the
  472.     Standard Model. The Standard Model uses 32-bit pointers to address
  473.     memory, making it larger to store.  The Compact Model saves still
  474.     more space by using a special encoding algorithm to reduce the size
  475.     of the .EXE file.  It takes slightly longer to load because it must
  476.     first "expand" itself to a normal .EXE file.
  477.  
  478.     The Standard Model requests memory from DOS only as it is needed to
  479.     accommodate your file. You do not need 640K to run the Standard Model
  480.     unless you are editing very large files! The Compact Model requests
  481.     64K of memory as soon as it is loaded.
  482.  
  483.     For extended editing on a very large file, it is good practice with
  484.     any editor to cut the file into smaller segments. Public-domain
  485.     "SPLIT" utilities or the "SLICE" utility provided with Oak Hill Vi
  486.     (TM) helps you do that. See Section 7.
  487.         
  488.     
  489.     1.3 FILE NAMING AND EDITING MULTIPLE FILES
  490.     ---------------------------------------------------------------------
  491.         When you issue the command "VI FILENAME", you may use DOS file name
  492.         conventions, including the use of "wildcard" characters like '*'
  493.         and '?'.  If more than one file is implied, as it might be in "VI
  494.         *.C" you may edit each of these in turn using the ":n<cr>" command.
  495.  
  496.         You may also list more than one file name.  Up to 20 files can be
  497.         placed in the editing queue.
  498.  
  499.  
  500.         1.4 SPECIAL FEATURES FOR LAPTOP PORTABLES
  501.     ---------------------------------------------------------------------
  502.         If you are using Oak Hill Vi (TM) on a laptop portable, you should
  503.         make special note of two user-requested features that have proven
  504.         very popular.
  505.  
  506.         First, the ":set nobeep" option allows you to replace the usual vi
  507.         audible beep tone with a highlighted "BEEP!" flag at the bottom of
  508.         your screen.  This makes it easier to use your laptop on an
  509.         airplane where the beep may be difficult to hear, or in a meeting
  510.         room where an audible beep would disturb others in the room.
  511.  
  512.         Second, on some laptops that use non-backlit LCD displays (like the
  513.         original Toshiba 1000), it can be difficult to find the flashing
  514.         underscore cursor on the screen, especially when the ambient
  515.         lighting is poor.  The ":set cursor = box" option allows you to
  516.         substitute a flashing box cursor for the underscore -- this is much
  517.         easier to find.  
  518.  
  519.         If you find yourself making frequent use of these or other options,
  520.         don't forget to install the commands in a VISETUP.VI file so that
  521.         they will be automatically invoked every time you start Oak Hill
  522.         Vi (TM).  See Section 5.0.
  523.  
  524.  
  525.  
  526.  
  527.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  528.  
  529.  
  530.  
  531.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 9
  532.  
  533.  
  534.     1.5 BUGS AND NEW FEATURES
  535.     ---------------------------------------------------------------------
  536.         If you find a bug in the program or you would like to see a feature
  537.         added to the program, please let us know by mail.  Please supply as
  538.         much information about bugs as you can.  (It cannot be investigated
  539.         here if we can't recreate it!)  If you are among the first three
  540.         users to find a bug that is corrected in a later version, or among
  541.         the first three to make a suggestion that is incorporated in a
  542.         later version, you will receive a free copy of the revised version.
  543.  
  544.                         Oak Hill Software
  545.                         73 Hillyer Circle
  546.                         Middletown, NJ 07748
  547.                         908-671-8544
  548.                 
  549.                               _______
  550.                          ____|__     |               (R)
  551.                       --|       |    |-------------------
  552.                         |   ____|__  |  Association of
  553.                         |  |       |_|  Shareware
  554.                         |__|   o   |    Professionals
  555.                       -----|   |   |---------------------
  556.                            |___|___|    MEMBER
  557.                 
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  594.  
  595.  
  596.  
  597.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 10
  598.  
  599.  
  600.     2.0 COMMAND SUMMARY
  601.     ======================================================================
  602.         In the list below, many of the commands may be preceded by an
  603.         optional repetition number.  To do so is the equivalent of entering
  604.         the command n times.  For example, the command "4h" will move the
  605.         cursor left four characters instead of just one.  The syntax
  606.         of these commands is illustrated in each case with the example
  607.         of n=4.
  608.     
  609.         <ctl-X> indicates that the control key is to be held down at the
  610.     ^X      same time the indicated character X is depressed.  An
  611.         alternative way of showing this is with the notation ^X. 
  612.                 
  613.         <cr> denotes a carriage return.  
  614.         
  615.         <sp> denotes a space
  616.         
  617.         <esc> denotes an escape character
  618.         
  619.         Items enclosed in [] brackets are optional.
  620.  
  621.     A "white" or "white space" character is a space or tab character.
  622.         
  623.      -> Commands that are marked with an arrow "->" in the left margin are
  624.         the most commonly used vi commands.  If you are a beginner, we
  625.         recommend that you practice these commands first.
  626.  
  627.     2.1 MOVING AROUND IN YOUR FILE
  628.     ----------------------------------------------------------------------
  629.      -> h  4h           Move cursor left 1 or 4 characters on current line
  630.      -> l  4l           Move cursor right 1 or 4 characters on current line
  631.      -> k  4k           Move cursor up 1 or 4 lines in current column
  632.      -> j  4j           Move cursor down 1 or 4 lines in current column
  633.     
  634.      -> 0        Move cursor to first character in current line
  635.      -> $        Move cursor to last character in current line
  636.      
  637.         |  4|           Move cursor to char closest to 1st or 4th column
  638.     
  639.                  Note: In the commands below: a "word" is a
  640.                  string of characters separated by white space
  641.                  or by punctuation marks.  A "WORD" is a string
  642.                  of characters separated by white space.
  643.                  
  644.      -> w  4w        Move ahead 1 or 4 words 
  645.      -> W  4W        Move ahead 1 or 4 WORDS
  646.     
  647.      -> b  4b        Move back 1 or 4 words 
  648.      -> B  4B        Move back 1 or 4 WORDS
  649.     
  650.      -> e  4e        Move ahead to 1st or 4th end-of-word character
  651.      -> E  4E        Move to end of 1st or 4th end-of-WORD character
  652.     
  653.      -> <ctl-D> 12<ctl-D>
  654.                   Scroll down lines
  655.      -> <ctl-U> 12<ctl-U>
  656.                   Scroll up lines
  657.                 The default number of lines scrolled is 8.
  658.  
  659.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  660.  
  661.  
  662.  
  663.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 11
  664.  
  665.  
  666.                 If an integer, for example 12, precedes 
  667.                 the command, the number of lines scrolled 
  668.                 will be 12 and the default thereafter will 
  669.                 be 12.  In the current version, the integer
  670.                 can be no larger than larger than half 
  671.                 the screen size in lines.  If a larger 
  672.                 value of n is specified, it will be reduced 
  673.                 to half the screen size.
  674.     
  675.      -> <ctl-F>    4<ctl-F>    
  676.                  Jump ahead 1 or 4 screenfulls (when jumping 1 
  677.                      screenfull, retain 2 lines for continuity)
  678.      -> <ctl-B> 4<ctl-B>        
  679.                  Jump back 1 or 4 screenfulls (when jumping 1
  680.                      screenfull, retain 2 lines for continuity)
  681.     
  682.      -> G        Jump ahead to end of file
  683.     nG        Jump directly to line number n
  684.     
  685.      -> 'x        Jump to start of line marked "x" (see "m" command)
  686.     `x        Like 'x but also jumps to marked cursor location
  687.     
  688.         ''        Jump to start of line that cursor was on before last 
  689.                 "big move" (more than a screenfull away)
  690.     ``        Like '' but also jumps to marked cursor location
  691.                 within the line
  692.     
  693.     -  4-        Move up 1 or 4 lines to 1st non-white char in line
  694.     +  4+        Move down 1 or 4 lines to first non-white character
  695.  
  696.     ^        Move to first non-white character in current line
  697.     
  698.     <cr>  4<cr>    Move down 1 or 4 lines to 1st non-white char in line
  699.  
  700.     <sp>  4<sp>    Move right 1 or 4 chars on current line (same as "4l")
  701.     
  702.             Note: In the commands below: 
  703.                           A "word" is a string of letters separated by 
  704.                             white space or by punctuation marks.
  705.                   A "WORD" is a string of letters separated by
  706.                     white space.
  707.                     
  708.     )  4)        Move ahead 1 or 4 sentences
  709.     (  4(        Move back 1 or 4 sentences
  710.     
  711.               Note:    A '.' followed by two spaces or a '.' as the 
  712.                 last non-white character on a line is 
  713.                 interpreted as the end of a sentence.  This 
  714.                 search command does not wrap around the
  715.                 beginning or end of the file.
  716.             
  717.     }  4}        Move ahead 1 or 4 paragraphs
  718.     {  4{        Move back 1 or 4 paragraphs
  719.     
  720.                 Note: A paragraph is a section of text 
  721.                 delimited by blank lines, the start or 
  722.                 end of a file, lines that begin with a 
  723.                 space or any of the characters: .-_=*
  724.  
  725.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  726.  
  727.  
  728.  
  729.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 12
  730.  
  731.  
  732.                 or a <ctl-X>.
  733.     
  734.     <ctl-E> 4<ctl-E>
  735.             Scroll down 1 or 4 lines, keeping current 
  736.                 cursor position if possible
  737.     <ctl-Y> 4<ctl-Y>
  738.             Scroll up 1 or 4 lines, keeping current cursor 
  739.                 position if possible
  740.     
  741.     H        Jump to first line on screen
  742.     M        Jump to middle line on screen
  743.     L        Jump to last line on screen
  744.     
  745.     z<cr>           Redraw screen with current line at top of screen.
  746.     z.<cr>            Redraw screen with current line at middle of screen.    
  747.     z-<cr>            Redraw screen with current line at bottom of screen.
  748.                 If an integer, for example 6, precedes any
  749.                 of the three 'z' commands above, any of 
  750.                 the three commands above, the screen will 
  751.                 be drawn about line <n> rather than 
  752.                 the current line.
  753.                 '?', the search direction will be reversed.
  754.     
  755.     %        Starting from either a ( or { character, jump 
  756.                 forward to the matching ) or }.  Starting 
  757.                 from ) or } jump back to the matching ( or {.
  758.                 Any of the characters (){} that are within 
  759.                 quotation marks are ignored.
  760.     
  761.     :[range]p<cr>        Print command.  Prints all lines in 
  762.                     specified range.
  763.     
  764.                 EXAMPLES:
  765.                 :g/string/p<cr>    prints all lines that 
  766.                             contain "string"
  767.                 :.,$p<cr>    prints all lines from cursor 
  768.                             to end of file
  769.                   
  770.     :spec1<cr>    Cursor moves to line number "spec1".  See "LINE RANGE"
  771.                 (Section 3) below for a description of what
  772.                 "spec1" may be.  
  773.                 
  774.                 EXAMPLES:
  775.                     :35<cr>        jump to line 35
  776.                     :$-44<cr>    jump to 44th line 
  777.                                 above last line
  778.                 
  779.                 Note: This is one of a series of "ex" commands
  780.                 that are available in UNIX vi through the
  781.                 colon ":" commands.  This particular command
  782.                 has limited usefulness. The first example above 
  783.                 is equivalent to the vi command "35G", which
  784.                 is quicker to type.  The second command does
  785.                 have some value since it is slightly simpler 
  786.                 than the vi equivalent "G44k".
  787.  
  788.  
  789.  
  790.  
  791.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  792.  
  793.  
  794.  
  795.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 13
  796.  
  797.  
  798.     2.2 FINDING TEXT PATTERNS
  799.     ----------------------------------------------------------------------
  800.      -> /pattern/<cr>   Jump to next occurrence of string "pattern"
  801.      -> ?pattern?<cr>   Jump to previous occurrence of string "pattern"
  802.                 (If, before you hit the <cr>, your wish 
  803.                 to cancel the pattern search, you can 
  804.                 backspace over the '?' or '/' character 
  805.                 and the cursor will return to the text. 
  806.                 The trailing '/' or '?' after 'pattern' 
  807.                 is optional.)
  808.      -> /<cr>        Jump to next occurrence of last requested "pattern"
  809.      -> ?<cr>        Jump to previous occurrence of last requested "pattern"
  810.     
  811.             In "pattern" allowable meta characters are:
  812.             
  813.             . matches any character
  814.             ^ matches the beginning of a line
  815.             $ matches the end of line
  816.               
  817.             x* matches zero or more consecutive characters 'x'
  818.             .* matches zero or more occurrences of any character
  819.               
  820.             [xyz] matches any single char in the string 'xyz'
  821.             [^xyz] matches any single char except those in 
  822.                 the string 'xyz'
  823.             [a-z] matches any char between 'a' and 'z' inclusive,
  824.             [^a-z] matches any char but those between 'a' and 'z'
  825.               
  826.             \ preceding a meta char removes its meta meaning.
  827.                 
  828.     /pattern/z<cr>    Redraw screen with next occurrence of string "pattern"
  829.     /pattern/z.<cr>     at the top, middle, or bottom of the screen (as
  830.     /pattern/z-<cr>        above).  If the '/' delimiters are replaced by
  831.               
  832.      -> n        Repeat last pattern search
  833.      -> N        Repeat last pattern search but reverse search direction
  834.     
  835.      -> fx  4fx        Move ahead to 1st or 4th occurrence of character 'x' 
  836.                 on current line
  837.      -> Fx  4Fx        Move back to 1st or 4th previous occurrence of 
  838.                 character 'x' on current line
  839.                 
  840.      -> ;  4;        Repeat last fx or Fx command 1 or 4 times
  841.      -> ,  4,          Repeat last fx or Fx command 1 or 4 times, 
  842.      
  843.                 but reverse search direction
  844.     tx  4tx        Move ahead to 1st or 4th char preceding next 
  845.                 occurrence of char 'x' on current line
  846.     Tx  4Tx        Move back to 1st or 4th character following previous
  847.                 occurrence of char 'x' on current line
  848.     
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  858.  
  859.  
  860.  
  861.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 14
  862.  
  863.  
  864.     2.3 INSERTING AND APPENDING TEXT
  865.     -----------------------------------------------------------------------
  866.     
  867.      -> <esc>        End text modification and return to command mode
  868.             (See also the ":set esc2<cr>" command)
  869.  
  870.      -> u        Undo the last text modification change
  871.  
  872.      -> .        Repeat the last text modification change
  873.  
  874.      -> a        Append text until <esc>
  875.      -> A        Append text at end of line until <esc>
  876.  
  877.      -> i        Insert text until <esc>
  878.      -> I        Insert text at beginning of line until <esc>
  879.  
  880.      -> o        Open file below current line and insert text until <esc>
  881.      -> O        Open file above current line and insert text until <esc>
  882.  
  883.      -> <ctl-H>        Backspace (and erase) one character 
  884.                 Some keyboards have an explicit "backspace"
  885.                 key which you may also use.  On some
  886.                 keyboards you may also use the "delete"
  887.                 key.  This varies from machine to machine.
  888.             
  889.      -> <ctl-W>        Backspace (and erase) one word
  890.                 to protect text entered from previous text 
  891.                 modification commands, neither of these 
  892.                 commands will backspace beyond the point 
  893.                 where the currently active text insertion 
  894.                 code was issued.  Attempting to backspace 
  895.                 any further causes a "beep".
  896.  
  897.     <ctl-V>        Accept next character literally; ignore special meaning
  898.                 (allows entry of <ctl-H>, <ctl-W>, or 
  899.                 <esc> char)
  900.     
  901.     2.4 DELETING TEXT
  902.     -----------------------------------------------------------------------
  903.  
  904.      -> D        Delete remaining text in current line
  905.     d$        Delete remaining text in current line
  906.     
  907.      -> dd  4dd        Delete 1 or 4 lines
  908.     
  909.      -> dG        Delete current line through last line in file
  910.     
  911.      -> dw  4dw        Delete ahead 1 or 4 words 
  912.      -> dW  4dW        Delete ahead 1 or 4 WORDS
  913.     
  914.      -> de  4de        Delete 1 or 4 words up to the last char
  915.      -> dE  4dE        Delete 1 or 4 WORDS up to the last char
  916.     
  917.     db  4db        Delete back 1 or 4 words
  918.     dB  4dB        Delete back 1 or 4 WORDS
  919.     
  920.     dl  4dl         Delete 1 or 4 characters
  921.     
  922.  
  923.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  924.  
  925.  
  926.  
  927.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 15
  928.  
  929.  
  930.     dfx 4dfx    Delete characters from cursor position to 1st or 4th
  931.                 next occurrence of char 'x'
  932.     dFx 4dFx    Delete characters from cursor position to 1st or 4th
  933.                 previous occurrence of char 'x'
  934.                 
  935.     dtx 4dtx    Delete characters from cursor position up to character 
  936.                 preceding 1st or 4th next occurrence of char 'x'
  937.     dTx 4dTx    Delete characters from cursor position to character 
  938.                 following 1st or 4th previous char 'x'
  939.     
  940.     d)  4d)        Delete from cursor position forward to end of 1st
  941.                 or 4th sentence
  942.     d(  4d(        Delete from cursor position backward to start 
  943.                 of 1st or 4th previous sentence
  944.     d}  4d}        Delete from cursor position forward to end of 
  945.                 1st or 4th paragraph
  946.     d{  4d{        (This command is not implemented in current version
  947.                 of Oak Hill Vi (TM))
  948.     
  949.     dj  4dj        Delete current line, or delete current line plus
  950.                 4 lines below current line
  951.     dk  4dk        Delete current line, or delete current line plus
  952.                 4 lines above current line
  953.     dl  4dl        Delete character at current cursor position (equiv
  954.                 to command "x"), or delete 4 characters 
  955.     dh  4dh        Delete character to left of cursor, or delete 4
  956.                 characters to left of cursor
  957.                 
  958.             Note: If you prefer an alternative syntax, you 
  959.             may invert the integer multiplier and the "d"
  960.             operator in the above commands.  For example,
  961.             "d4j" is equivalent to "4dj".
  962.             
  963.     d0        Delete from beginning of line through cursor position
  964.     
  965.      -> d'x        Delete text delimited by current line and 
  966.                 line 'x (see "mx" command, Section 2.7)
  967.     d`x        Delete text delimited by cursor position and 
  968.                 position `x 
  969.     
  970.     d4G        Delete line number 4 through the current line
  971.     
  972.     [range]d    Delete lines specified in "range" -- see 
  973.                 "LINE RANGE" below (Section 3) 
  974.     
  975.     2.5 CHANGING TEXT
  976.     -----------------------------------------------------------------------
  977.  
  978.             Note: "Changing" text is like "deleting"
  979.             text except that as soon as you've deleted
  980.             the text, the program is in the input mode,
  981.             waiting for you to type in the replacement text.
  982.  
  983.      -> C        Change remaining text in current line
  984.     c$        Change remaining text in current line
  985.     
  986.      -> cc  4cc        Change 1 or 4 lines
  987.     
  988.  
  989.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  990.  
  991.  
  992.  
  993.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 16
  994.  
  995.  
  996.      -> cG        Change current line through last line in file
  997.     
  998.      -> cw  4cw        Change 1 or 4 words forward in file 
  999.      -> cW  4cW        Change 1 or 4 WORDS forward in file
  1000.     
  1001.      -> ce  4ce        Change 1 or 4 words up to the last char
  1002.      -> cE  4cE        Change 1 or 4 WORDS up to the last char
  1003.     
  1004.     cb  4cb        Change 1 or 4 words backward in file
  1005.     cB  4cB        Change 1 or 4 WORDS backward in file
  1006.     
  1007.     cl  4cl         Change 1 or 4 characters
  1008.     
  1009.     cfx  4cfx    Change characters from cursor position to 1st or 4th
  1010.                 next occurrence of char 'x'
  1011.     cFx  4cFx    Change characters from cursor position to 1st or 4th
  1012.                 previous occurrence of char 'x'
  1013.                 
  1014.     ctx  4ctx    Change characters from cursor position up to character 
  1015.                 preceding 1st or 4th next occurrence of char 'x'
  1016.     cTx  4dTx    Change characters from cursor position to character 
  1017.                 following 1st or 4th previous char 'x'
  1018.     
  1019.     c)  4c)        Change from cursor position forward to end of 1st
  1020.                 or 4th sentence
  1021.     c(  4c(        Change from cursor position backward to start 
  1022.                 of 1st or 4th previous sentence
  1023.     c}  4c}        Change from cursor position forward to end of 
  1024.                 1st or 4th paragraph
  1025.     c{  4c{        (This command is not implemented in current version
  1026.                 of Oak Hill Vi (TM))
  1027.     
  1028.     cj  4cj        Change current line, or change current line plus
  1029.                 4 lines below current line
  1030.     ck  4ck        Change current line, or change current line plus
  1031.                 4 lines above current line
  1032.     cl  4cl        Change character at current cursor position (equiv
  1033.                 to command "x"), or change 4 characters 
  1034.     ch  4ch        Change character to left of cursor, or change 4
  1035.                 characters to left of cursor
  1036.                 
  1037.             Note: If you prefer an alternative syntax, you 
  1038.             may invert the integer multiplier and the "c"
  1039.             operator in the above commands.  For example,
  1040.             "c4j" is equivalent to "4cj".
  1041.             
  1042.     c0        Change from beginning of line through cursor position
  1043.     
  1044.      -> c'x        Change text delimited by current line and 
  1045.                 line 'x (see "mx" command, Section 2.7)
  1046.     c`x        Change text delimited by cursor position and 
  1047.                 position `x (see "mx" command, Section 2.7)
  1048.     
  1049.     c4G        Change line number 4 through the current line
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1056.  
  1057.  
  1058.  
  1059.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 17
  1060.  
  1061.  
  1062.     2.6 YANKING (COPYING) TEXT INTO YANK/DELETE BUFFER 
  1063.     -----------------------------------------------------------------------
  1064.     
  1065.                         Note: When you "yank" or "delete" text, you
  1066.                         copy it into a temporary buffer.  You may then
  1067.                         "put" or "paste" (see "p" and "P" commands
  1068.                         below) this text at some other point in the
  1069.                         file.  
  1070.  
  1071.     Y   4Y        Yank remaining text in current line
  1072.      -> yy  4yy        Yank 1 or 4 lines
  1073.     
  1074.      -> y$        Yank remaining text in current line
  1075.     
  1076.      -> yG        Yank current line through last line in file
  1077.     
  1078.      -> yw  4yw        Yank ahead 1 or 4 words 
  1079.      -> yW  4yW        Yank ahead 1 or 4 WORDS
  1080.     
  1081.     ye  4ye        Yank 1 or 4 words up to the last char
  1082.     yE  4yE        Yank 1 or 4 WORDS up to the last char
  1083.     
  1084.     yb  4yb        Yank back 1 or 4 words
  1085.     yB  4yB        Yank back 1 or 4 WORDS
  1086.     
  1087.     yl  4yl         Yank 1 or 4 characters
  1088.     
  1089.     yfx  4yfx    Yank characters from cursor position to 1st or 4th
  1090.                 next occurrence of char 'x'
  1091.     yFx  4yFx    Yank characters from cursor position to 1st or 4th
  1092.                 previous occurrence of char 'x'
  1093.                 
  1094.     ytx  4ytx    Yank characters from cursor position up to character 
  1095.                 preceding 1st or 4th next occurrence of char 'x'
  1096.     yTx  4yTx    Yank characters from cursor position to character 
  1097.                 following 1st or 4th previous char 'x'
  1098.     
  1099.     y)  4y)        Yank from cursor position forward to end of 1st
  1100.                 or 4th sentence
  1101.     y(  4y(        Yank from cursor position backward to start 
  1102.                 of 1st or 4th previous sentence
  1103.     y}  4y}        Yank from cursor position forward to end of 
  1104.                 1st or 4th paragraph
  1105.     y{  4y{        (This command is not implemented in current version
  1106.                 of Oak Hill Vi (TM))
  1107.     
  1108.     yj  4yj        Yank current line, or yank current line plus
  1109.                 4 lines below current line
  1110.     yk  4yk        Yank current line, or yank current line plus
  1111.                 4 lines above current line
  1112.     yl  4yl        Yank character at current cursor position (equiv
  1113.                 to command "x"), or yank 4 characters 
  1114.     yh  4yh        Yank character to left of cursor, or yank 4
  1115.                 characters to left of cursor
  1116.                 
  1117.             Note: If you prefer an alternative syntax, you 
  1118.             may invert the integer multiplier any the "y"
  1119.             operator in the above commands.  For example,
  1120.  
  1121.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1122.  
  1123.  
  1124.  
  1125.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 18
  1126.  
  1127.  
  1128.             "y4j" is equivalent to "4yj".
  1129.             
  1130.     y0        Yank from beginning of line through cursor position
  1131.     
  1132.     y'x        Yank text delimited by curr line and 
  1133.                 line 'x (see "mx" command, Section 2.7)
  1134.     y`x        Yank text delimited by cursor position and 
  1135.                 position `x 
  1136.     
  1137.     y4G        Yank line number 4 through the current line
  1138.     
  1139.     
  1140.     
  1141.     2.7 OTHER TEXT MODIFICATION COMMANDS 
  1142.     -----------------------------------------------------------------------
  1143.     
  1144.      -> r        Replace single character and return to command mode
  1145.  
  1146.      -> R        Replace text on current line ("overstrike") until <esc>
  1147.     
  1148.      -> s  4s        Substitute new characters for current character 
  1149.                 until <esc>
  1150.    
  1151.      -> S  4S           Substitute new characters for current line until <esc>
  1152.     
  1153.      -> x  4x        Delete 1 or 4 characters
  1154.     X  4X        Delete 1 or 4 character before the cursor
  1155.     
  1156.      -> p        Put last deleted/yanked lines below current line
  1157.      -> p        Put last deleted/yanked text after current 
  1158.                 cursor position
  1159.                 
  1160.      -> P        Put last deleted/yanked lines above current line
  1161.      -> P        Put last deleted/yanked text before current 
  1162.                 cursor position 
  1163.                 
  1164.             Note: Whether "text" or "lines" apply in the 
  1165.                 "put" commands above depends on whether
  1166.                 a text string or text lines were yanked,
  1167.                 deleted, or stored into the yank/delete
  1168.                 buffer.
  1169.  
  1170.      -> J        Join the current and following line into a single line
  1171.  
  1172.     ~        Change case of character at cursor location and 
  1173.                 advance to next character. (Undo doesn't 
  1174.                 work for this command; this command is 
  1175.                 its own undo.)
  1176.                 
  1177.     >> 4>>        Shift 1 or 4 lines one tab-shift to the right
  1178.     << 4<<        Shift 1 or 4 lines one tab-shift to the left
  1179.     
  1180.     >adr        Shift from current line through "adr" one tab-shift
  1181.                 to the right
  1182.     <adr        Shift from current line through "adr" one tab-shift
  1183.                 to the left
  1184.                 
  1185.                 EXAMPLES:
  1186.  
  1187.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1188.  
  1189.  
  1190.  
  1191.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 19
  1192.  
  1193.  
  1194.                 
  1195.                 >'a
  1196.                 </howdy/
  1197.                 <73<cr>
  1198.                 
  1199.                 The first example will right-shift each line
  1200.                 of text from the current line through the 
  1201.                 one marked "a" (see the "mark" command).
  1202.                 
  1203.                 The second example will left-shift each 
  1204.                 line of text from the current line through
  1205.                 the one where the string "howdy" appears.
  1206.                 
  1207.                 The third example will left-shift each
  1208.                 line of text from the current line through
  1209.                 line number 73.
  1210.  
  1211.  
  1212.     :abbr macroname string1<cr>
  1213.     :unabbr macroname<cr>
  1214.                         Abbreviate 'string1' with 'macroname' while in
  1215.                         input mode.  Every time the string 'macroname'
  1216.                         is entered by itself (surrounded by spaces,
  1217.                         tabs, carriage returns, or punctuation marks
  1218.                         like .,!? etc), it will be replaced by
  1219.                         string1, just as if you had typed string1
  1220.                         instead of 'macroname'.
  1221.         
  1222.             EXAMPLE: If you type --
  1223.         
  1224.                 :abbr rr requirements<cr>
  1225.             
  1226.             then thereafter, while in the input mode, you type
  1227.         
  1228.                 we wrote new rr for the client
  1229.             
  1230.             as soon as the space after 'rr' is typed, the 'rr'
  1231.             will be replaced by 'requirements', leaving you with
  1232.         
  1233.                 we wrote new requirements for the client
  1234.             
  1235.             This capability is good for frequently typed, lengthy
  1236.             words.
  1237.         
  1238.             The :unabbr command cancels the :abbr command with
  1239.             the specified macroname.
  1240.         
  1241.             You can have up to 10 macronames active at a time.
  1242.             The ":set<cr>" command will show you which 
  1243.             abbreviations are active at any time.
  1244.  
  1245.      -> :[range]s/string1/string2/[g][p]<cr>
  1246.       
  1247.                         String substitution command.  For the range of
  1248.                         lines indicated (see "Line Ranges", Section 3),
  1249.                         substitute first occurrence of string1 with
  1250.                         string2.  If the optional 'g' appears after the '/'
  1251.                         that follows string2, every occurrence of string1
  1252.  
  1253.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1254.  
  1255.  
  1256.  
  1257.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 20
  1258.  
  1259.  
  1260.                         (not just the first) will be replaced by string2.
  1261.             
  1262.             If the 'p' option appears, each altered line
  1263.             will be printed at the bottom of the screen.
  1264.             
  1265.             If no range of lines is indicated, substitutions 
  1266.             will take place on the current line only.  
  1267.  
  1268.             The '/' delimiter character may be any character 
  1269.             that does not appear in string1 or string2.  
  1270.             (The only exception is that if no line specification
  1271.             is supplied, the string delimiter character must 
  1272.             be a '/' to avoid ambiguity).
  1273.             
  1274.             String1 may contain meta characters.  
  1275.             
  1276.             A '&' in string2 will be replaced by all of string1.  
  1277.             Use '\&' if you want to insert a '&' character.  
  1278.             The trailing '/' delimiter after string2 is optional.  
  1279.     
  1280.             The "undo" command will "undo" the substitutions
  1281.             made by this command only if there is sufficient
  1282.             room in memory to store the range of lines selected.
  1283.             If there is not sufficient room, the substitutions
  1284.             can still be made, but a warning message will be
  1285.             printed first.
  1286.             
  1287.             EXAMPLES:
  1288.             
  1289.             :s/sam/bill<cr>
  1290.             :%s/bcr/Bell Communications Research/g<cr>
  1291.             :.,$s/^/     /<cr>
  1292.             :'a,'bs/ *$//<cr>
  1293.             :g/howdy/s//doody/gp<cr>
  1294.             
  1295.             The first example will substitute "bill" for 
  1296.             the first occurrence of "sam" on the current line
  1297.             
  1298.             The second example will substitute "Bell Communications
  1299.             Research" for "bcr" for every line in the file.
  1300.             
  1301.             The third example will put five spaces at the 
  1302.             front end of the current line through the last
  1303.             line of the file.
  1304.             
  1305.             The fourth example will remove (by substituting
  1306.             nothing for) all trailing spaces from the end
  1307.             of lines marked 'a' through 'b'.
  1308.             
  1309.             The fifth example will replace all occurrences
  1310.             of "howdy" by "doody" and will print each line
  1311.             altered at the bottom of the screen.
  1312.             
  1313.     &        Repeat the last :[range]s command for the current
  1314.             line only.
  1315.  
  1316.     :[range]d<cr>    Deletion command.  Will delete lines in specified
  1317.             range.  
  1318.  
  1319.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1320.  
  1321.  
  1322.  
  1323.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 21
  1324.  
  1325.  
  1326.             
  1327.             EXAMPLES:
  1328.             
  1329.             :/string/d<cr>    deletes next line in which "string"
  1330.                     appears
  1331.             :g/string/d<cr> deletes all lines in which "string"
  1332.                     appears
  1333.             :g/^$/d<cr>    deletes all blank lines
  1334.  
  1335.     :[range]t[spec]<cr>
  1336.  
  1337.             Transfer command.  Copies lines in specified
  1338.             [range] and inserts the copied lines just below
  1339.             the line named in [spec].  This is a UNIX "ed"
  1340.             or "ex" command.  Note you can do the same
  1341.             thing with "yank" and "put" commands.
  1342.             
  1343.             EXAMPLES:
  1344.             
  1345.             :15,20t35<cr>    Copies lines 15 through 20 and
  1346.                     inserts them just below line 35.
  1347.                     
  1348.             :/Sam/,/Bill/t/Dave/<cr>
  1349.                     Copies lines from the one
  1350.                     containing "Sam" through the
  1351.                     one containing "Bill" and
  1352.                     inserts them just below the
  1353.                     line containing "Dave".
  1354.             
  1355.     :[range]m[spec]<cr>     
  1356.  
  1357.             Move command.  Deletes lines in specified
  1358.             [range] and inserts the deleted lines just below
  1359.             the line named in [spec].  This is a UNIX "ed"
  1360.             or "ex" command.  Note you can do the same
  1361.             thing with "delete" and "put" commands.
  1362.             
  1363.             EXAMPLES:
  1364.             
  1365.             :1,.m$<cr>    Deletes lines 1 through the
  1366.                     current line and moves them
  1367.                     to the bottom of the file.
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1386.  
  1387.  
  1388.  
  1389.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 22
  1390.  
  1391.  
  1392.     2.8 WRITING, READING, AND EXITING
  1393.     -----------------------------------------------------------------------
  1394.      -> ZZ        Write out (save) current buffer & quit editor.
  1395.  
  1396.      -> :w<cr>        Write buffer out (save) to default file name.
  1397.     :wq<cr>        Write buffer out (save) to default file name
  1398.                 and quit editor.
  1399.     
  1400.      -> :w filename<cr>    Write buffer out to "filename".  This command will
  1401.                 not overwrite an existing already file 
  1402.                 with the same name. 
  1403.      -> :w! filename<cr>
  1404.             Write buffer out to "filename" unconditionally.  This
  1405.                 command will overwrite an already existing 
  1406.                 file with the same name.
  1407.               
  1408.      -> :q<cr>        Quit editor and return to MS-DOS.  For safety, 
  1409.                 the editor will not quit unless you have 
  1410.                 written out the buffer since the last 
  1411.                 change was made.
  1412.                 
  1413.      -> :q!<cr>        Quit editor unconditionally and return to MS-DOS.
  1414.                 Any editing changes since your last "write"
  1415.                 will be lost.
  1416.  
  1417.      -> :r filename<cr>    Read "filename" into buffer following the current line.
  1418.  
  1419.     :e filename<cr>    Dump current file buffer and edit "filename".  
  1420.                                 No "filename" will cause current
  1421.                                 filename to be used.  For safety,
  1422.                                 command is rejected if the buffer has
  1423.                                 been altered since the last write to
  1424.                                 disk.  This command, as well as "e!"
  1425.                                 and "we" will clear the (unnamed)
  1426.                                 yank/delete buffer and the buffer used
  1427.                                 to store the repeat-last-command
  1428.                                 command (".").
  1429.                 
  1430.     :e! filename<cr>
  1431.             Dump current file buffer and edit "filename" 
  1432.                 (unconditionally).
  1433.                 
  1434.     :we filename<cr>
  1435.             (NON-UNIX) Write out current buffer to disk, 
  1436.                 dump buffer, and begin editing "filename"
  1437.  
  1438.     :[range]w[>>] filename<cr>    
  1439.             Write [and append] command with optional line range 
  1440.                 specification (see Line Range discussion) -- 
  1441.                 if the '>>' follows the 'w', buffer contents
  1442.                 will be appended to filename.  
  1443.  
  1444.                 EXAMPLES: 
  1445.  
  1446.                     :'a,$w>> george<cr>
  1447.                     :1,.w albert<cr>
  1448.  
  1449.                 The first example will append to file "george" 
  1450.  
  1451.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1452.  
  1453.  
  1454.  
  1455.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 23
  1456.  
  1457.  
  1458.                 the text delimited by line 'a and the 
  1459.                 last line (inclusive).  The second example
  1460.                 will write out the first line through the 
  1461.                 current line to file "albert".
  1462.  
  1463.     vi +[command] file[s]    (Executed from MS-DOS prompt)
  1464.     :e +[command] file[s]     You can invoke Oak Hill Vi (TM) with an 
  1465.                 initial command that will be executed 
  1466.                 as soon as your file has been read. 
  1467.             
  1468.                 EXAMPLES:
  1469.             
  1470.                 vi + file    Edit "file" starting at last
  1471.                         line.
  1472.                     
  1473.                 vi +3        Edit "file" starting at line 3
  1474.             
  1475.                 vi +/string file
  1476.                         Edit "file" starting at the 
  1477.                         first line were "string" 
  1478.                         appears
  1479.             
  1480.                 vi +"command" file
  1481.                         Edit "file" and execute 
  1482.                         "command" immediately 
  1483.                         after the file has
  1484.                         been read
  1485.  
  1486.                                 Note that if "string" or "command" contains
  1487.                                 spaces, they should be enclosed in
  1488.                                 quotation marks or Oak Hill Vi (TM) will
  1489.                                 confuse the arguments with file names.
  1490.             
  1491.                 EXAMPLE:
  1492.             
  1493.                 vi "+/Now is the time" file
  1494.             
  1495.                         is the correct way to start
  1496.                         editing "file" at the line that
  1497.                         contains the string "Now is 
  1498.                         the time"
  1499.  
  1500.                 All of the above features also work if you
  1501.                 use the :e command from inside the editor.
  1502.                 For example,
  1503.  
  1504.                 :e +3j file<cr>
  1505.  
  1506.                                 will edit "file" starting at line 3.  In
  1507.                                 the current version of Oak Hill Vi (TM),
  1508.                                 however, embedded blanks in the command
  1509.                                 string are not allowed and will cause parts
  1510.                                 of the command string to be interpreted as
  1511.                                 file names.
  1512.             
  1513.     :n<cr>            Edit next file name in the queue.  See 
  1514.                     Section 1.4
  1515.     :r <n1> <n2> filename<cr> 
  1516.  
  1517.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1518.  
  1519.  
  1520.  
  1521.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 24
  1522.  
  1523.  
  1524.             (NON-UNIX) Read lines n1 through n2 from filename 
  1525.                 into buffer below current cursor position.
  1526.                 Requires that (1 <= n1 <= n2 <= 32000).  If
  1527.                 n2 is larger than the last line, read will
  1528.                 proceed to end of file.  "$" may be used in
  1529.                 place of n2 to represent 32000.  This
  1530.                 command, combined with write (:w) commands,
  1531.                 is useful for splitting large files into
  1532.                 smaller pieces that Oak Hill Vi (TM) can
  1533.                 handle.  (See also the discussion of the
  1534.                 "slice" utility program below.)
  1535.  
  1536.                 EXAMPLE:
  1537.  
  1538.                     :r 100 200 george<cr>
  1539.  
  1540.                 will read lines 100 through 200 of file george
  1541.                 into the buffer.
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1584.  
  1585.  
  1586.  
  1587.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 25
  1588.  
  1589.  
  1590.     2.9 OPTION-SETTING AND OTHER COMMANDS
  1591.     -----------------------------------------------------------------------
  1592.             
  1593.     *** OPTION SETTING COMMANDS ***
  1594.     
  1595.     :set all<cr>    Display current setting of all settable options.
  1596.     :set <cr>           Also show the full directory path in which the
  1597.                         VISETUP.VI file (if any) was found.
  1598.  
  1599.     :set ai<cr>    Turn on autoindent
  1600.                 While inserting text, automatically copy the
  1601.                 indentation (white space characters) used on
  1602.                 the previous line.  You can backspace over
  1603.                 the indentation characters with <ctl-D>.
  1604.     :set noai<cr>    Turn off autoindent (default)
  1605.  
  1606.     :set aw<cr>    Turn on autowrite (default)
  1607.                 Before escaping to DOS (with :! command) write
  1608.                 the buffer out to disk if it has been altered
  1609.                 since the last save.
  1610.     :set noaw<cr>    Turn off autowrite
  1611.  
  1612.     :set beep<cr>    Have computer speaker sound a "beep" on user errors
  1613.                 (default).
  1614.     :set nobeep<cr> Keep computer speaker silent on errors -- instead 
  1615.                                 flash a "BEEP!" message briefly at the
  1616.                                 bottom of the screen.  This option is
  1617.                                 useful if (for example) you are using a
  1618.                                 laptop machine in a conference room and
  1619.                                 wish to avoid annoying those around you
  1620.                                 with a beeping computer.
  1621.             
  1622.     :set ctr=n<cr>  (NON-UNIX) Set column about which lines will be 
  1623.                 centered when using the ":center" command.  
  1624.                 Default n=40.
  1625.             
  1626.     :set cursor=underscore<cr>
  1627.     :set cursor=box<cr>
  1628.             (NON-UNIX) Set cursor type.  On some machines, 
  1629.                                 particularly those with LCD displays, a
  1630.                                 simple underscore for the cursor is hard to
  1631.                                 see, so Oak Hill Vi (TM) uses a "flashing box"
  1632.                                 cursor as the default.  On a CRT, the
  1633.                                 traditional flashing underscore is
  1634.                                 preferred by some users.  This set command
  1635.                                 allows the user to set to cursor type to
  1636.                                 match his/her preference.  The default is
  1637.                                 the underscore.
  1638.             
  1639.     :set esc2=x<cr>    (NON-UNIX) On some keyboards the escape key is clumsy 
  1640.                                 to reach.  This command allows the
  1641.                                 character 'x' to serve the same purpose,
  1642.                                 where 'x' can be any character.  Reasonable
  1643.                                 choices are <ctl-O> or <ctl-J>.  Caution:
  1644.                                 If you choose a character that is already
  1645.                                 serving another purpose, for example 'a',
  1646.                                 you will disable that function!  Note that
  1647.                                 <ctl-[> is equivalent to hitting an escape
  1648.  
  1649.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1650.  
  1651.  
  1652.  
  1653.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 26
  1654.  
  1655.  
  1656.                                 key.
  1657.             
  1658.     :set colors=[bright] foreground [on] background<cr>
  1659.  
  1660.             (NON-UNIX) Set foreground and background colors. 
  1661.                 The color names must be chosen as shown 
  1662.                 below.
  1663.         
  1664.                 Available Colors
  1665.                 ------------------
  1666.                 black
  1667.                 red
  1668.                 green
  1669.                 yellow
  1670.                 blue
  1671.                 magenta
  1672.                 cyan
  1673.                 white
  1674.             
  1675.                 To get bold foreground characters, include the
  1676.                 word "bright" before the foreground color name.
  1677.             
  1678.                 Only the first 3 letters of each color name
  1679.                 need or key word need be used, and the "on"
  1680.                 key word is optional.
  1681.             
  1682.                 Valid EXAMPLES:
  1683.             
  1684.                 :set colors = white on blue<cr>
  1685.                 :set colors = bright yellow on red<cr>
  1686.                 :set col bri whi red<cr>
  1687.             
  1688.                                 If colors are not explicitly set, Oak Hill
  1689.                                 Vi (TM) will default to the colors being
  1690.                                 used when the program was called.  If the
  1691.                                 colors are explicitly set, Oak Hill Vi (TM)
  1692.                                 will return to the starting colors when the
  1693.                                 program exits.
  1694.  
  1695.     :set ic<cr>    Ignore case (upper/lower) when doing string searches
  1696.     :set noic<cr>   Do not ignore case when doing string searches (default)
  1697.  
  1698.     :set idm<cr>    Print "Input Mode" identification tag in lower right
  1699.                                 corner of screen after "i", "a", "o", "O",
  1700.                                 "cc", "r", "s", or other commands that
  1701.                                 expect input text from the keyboard.
  1702.                                 (default)
  1703.     :set noidm<cr>    Do not print the "Input Mode" identification tag.
  1704.  
  1705.     :set lines=n<cr>
  1706.             (NON-UNIX) Resets number of lines screen can display.
  1707.                 This number is not arbitrary; n must match
  1708.                 the number of lines on your screen.  In most
  1709.                 cases, the default value of 25 is correct.
  1710.             
  1711.     :set magic    Recognize meta characters when doing pattern searches.
  1712.     :set nomagic    Do not recognize meta characters when doing pattern
  1713.                 searches.  Interpret each character literally.
  1714.  
  1715.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1716.  
  1717.  
  1718.  
  1719.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 27
  1720.  
  1721.  
  1722.                 See Section 2.4.
  1723.  
  1724.     :set nu<cr>    Turn on line number option
  1725.     :set nonu<cr>    Turn off line number option (default)
  1726.     
  1727.     :set press<cr>    Require a carriage-return after program greeting
  1728.             screen (default)
  1729.     :set nopress<cr>Do not require carriage-return after greeting screen
  1730.  
  1731.     :set ts=n<cr>   Set tab stops every n spaces --
  1732.                                 n can be any number from 1 to 40.
  1733.  
  1734.     :set wm=n<cr>   Set wrap margin to n spaces -- automatically generates
  1735.                                 carriage returns when n or fewer spaces
  1736.                                 remain on the line.  ":set wm=0" (the
  1737.                                 default) will disable the function.  This
  1738.                                 command is useful for high-speed typing --
  1739.                                 carriage-returns are supplied by the
  1740.                                 program.
  1741.  
  1742.     :set ws        Wrap around end of file on searches (default)
  1743.     :set nows    Do not wrap around end of file on searches
  1744.  
  1745.     :set rmar=n<cr>    (NON-UNIX) Set right margin for text filling (see below)
  1746.                 Default value is rmar=70.
  1747.     
  1748.             
  1749.  
  1750.     *** OTHER COMMANDS ***
  1751.  
  1752.     :heap<cr>    (NON-UNIX) Print the number of free bytes still
  1753.                 available in the memory heap.  The number
  1754.                 indicated is rounded down to the nearest 500
  1755.                 bytes.  The indicated space is not completely
  1756.                 available for text because each line of text
  1757.                 requires at least 10 bytes of overhead.
  1758.  
  1759.     :clear<cr>    (NON-UNIX) Clear the yank, last-command, and 
  1760.                 named buffers, and show the number of free 
  1761.                 bytes still available in the memory heap.
  1762.  
  1763.     :[range]fill <cr>    
  1764.             (NON-UNIX) In the range specified, fill text with 
  1765.                 left margin copied from current line and
  1766.                 right margin 'rmar' spaces.  See detailed
  1767.                 "FILL" description below.
  1768.                 
  1769.     :[range]rfill <cr>    
  1770.             (NON-UNIX) Same as :fill except that new sentences will
  1771.                 begin on a new line.  This is useful for making
  1772.                 already-filled text easier to edit.
  1773.             
  1774.      -> :fillp<cr>    (NON-UNIX) Fill paragraph.  Like :fill except that
  1775.                                 the entire paragraph in which the cursor
  1776.                                 sits is filled (no need to mark any text).
  1777.                                 A paragraph is a section of text delimited
  1778.                                 by blank lines, the start or end of a file,
  1779.                                 lines that begin with a space or any of the
  1780.  
  1781.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1782.  
  1783.  
  1784.  
  1785.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 28
  1786.  
  1787.  
  1788.                                 characters in the string ".-_=*", or a
  1789.                                 <ctl-X>.
  1790.                 
  1791.     :rfillp<cr>    (NON-UNIX) Reverse fill paragraph.  Like "fillp" except
  1792.                 that new sentences will begin on a new line.
  1793.  
  1794.     :[range]upcase    (NON-UNIX) Convert to upper case the range of 
  1795.                 lines indicated.
  1796.     :[range]lowcase    (NON-UNIX) Convert to lower case the range of 
  1797.                 lines indicated.
  1798.             
  1799.     :[range]center  (NON-UNIX) Center on the page the range of 
  1800.                                 lines indicated.  Control characters, tabs,
  1801.                                 and leading or trailing spaces will be
  1802.                                 ignored when this command computes where to
  1803.                                 place the line.  Lines greater than 80
  1804.                                 characters will not be altered.  Lines will
  1805.                                 be centered about the current value of
  1806.                                 "ctr".  By default ctr=40.  It may be
  1807.                                 altered with the ":set ctr=n" command.
  1808.     
  1809.     v        Print greeting message and Oak Hill Vi (TM) version 
  1810.                 number on screen.
  1811.  
  1812.      -> <ctl-L>        Redraw the screen -- useful if display becomes 
  1813.                 corrupted.
  1814.  
  1815.      -> mx        Mark the current line and cursor position with 
  1816.                                 an identifying character from [a-z]  (see
  1817.                                 'x command, up to 10 lines may be marked;
  1818.                                 erasure and re-use of the 10 is automatic)
  1819.  
  1820.      -> <ctl-G>        Same as ":f<cr>" as described below
  1821.      -> :f<cr>        Print on the status line the name of the current file, 
  1822.                                 the line number, the total number of lines,
  1823.                                 total characters to end of current line,
  1824.                                 and total number of characters in file.  If
  1825.                                 the file has been modified and has not been
  1826.                                 written out to disk, the indicator
  1827.                                 "[modified]" will appear next to file name.
  1828.  
  1829.      -> :!<cr>        Escape to MS-DOS.
  1830.      -> :shell<cr>    Either of these commands escapes to MS-DOS and 
  1831.                                 allows you to enter DOS commands without
  1832.                                 exiting the Oak Hill Vi (TM) editor. A copy
  1833.                                 of the MS-DOS program COMMAND.COM must be
  1834.                                 accessible via the current MS-DOS PATH on
  1835.                                 the current disk.  Enough unused memory
  1836.                                 must be available to run COMMAND.COM and
  1837.                                 the DOS command you choose.  Otherwise an
  1838.                                 error message will be generated.
  1839.             
  1840.     :!cmd<cr>    Same as above except that the DOS command "cmd" 
  1841.                 will be executed immediately.
  1842.  
  1843.     <ctl-C>        Abort program.  This is an MS-DOS command to 
  1844.                                 be used in case the program seems "hung".
  1845.                                 When the program is operating normally,
  1846.  
  1847.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1848.  
  1849.  
  1850.  
  1851.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 29
  1852.  
  1853.  
  1854.                                 this command will not generate an abort.
  1855.  
  1856.     "x<n><yank>    Named buffer yank/delete: on next yank or delete
  1857.     "x<n><delete>        command, save yanked or deleted text in
  1858.                                 buffer x where x is a character from [a-z]
  1859.                                 as well as saving it in the usual default
  1860.                                 buffer.
  1861.  
  1862.                 EXAMPLES:   "a6yy 
  1863.                         "x4dw
  1864.             
  1865.                 The first example will yank six lines 
  1866.                 and store them in buffer 'a'.
  1867.                 
  1868.                 The second example will delete four words 
  1869.                 and store them in buffer 'x'.
  1870.  
  1871.     "xp        Named buffer put: do a put (p or P) command using
  1872.     "xP        the contents of named buffer x rather than the
  1873.             contents of the default buffer.
  1874.  
  1875.                 EXAMPLE: "ap will put the contents of marked
  1876.                     buffer 'a' after the current line or
  1877.                     cursor position.
  1878.     
  1879.     !adr!cmd<cr>    This command will delete a group of lines from the
  1880.             current line to the line at address adr, pass
  1881.             those lines through an external filter 'cmd',
  1882.             and load the results into the location
  1883.             originally occupied by the unfilterd lines.
  1884.             
  1885.             Note: This command is not preceded by a colon.
  1886.             
  1887.             Examples:
  1888.             
  1889.             !3j!sort<cr>
  1890.             !'a!sort<cr>
  1891.             !21Gsort<cr>
  1892.             !Gsort<cr>
  1893.             !!dir<r>
  1894.             
  1895.             The first example will pass the current line and
  1896.             the next three lines through the DOS 'sort' filter
  1897.             and replace the original lines with a sorted
  1898.             version.
  1899.             
  1900.             The second example will do the same for the current
  1901.             line through the line marked 'a'.
  1902.             
  1903.             The third example will do the same for the current
  1904.             line through the 21st line.
  1905.             
  1906.             The fourth example will do the same for the current
  1907.             line through the last line.
  1908.             
  1909.             The fifth example will replace the current line
  1910.             with output of the DOS 'dir' command (useful for
  1911.             looking at the contents of directories without
  1912.  
  1913.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1914.  
  1915.  
  1916.  
  1917.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 30
  1918.  
  1919.  
  1920.             leaving the editor).
  1921.             
  1922.             This command can be undone with the 'u' (undo)
  1923.             command.
  1924.             
  1925.             Note: This command must write temporary "scratch"
  1926.             files to your current default directory.  There
  1927.             must be enough space for these files or the command
  1928.             will fail.
  1929.             
  1930.     :map x string<cr>
  1931.             Make character x stand for the commands in "string".
  1932.                                 Use <ctl-V> to preface any special
  1933.                                 characters like carriage return or
  1934.                                 backspace.  Up to ten mappings can be
  1935.                                 stored.  Those older than the latest ten
  1936.                                 are forgotten.  "Unmap" by mapping x back
  1937.                                 into itself -- 'map x x<cr>'
  1938.  
  1939.                 EXAMPLE: :map T /George^V<cr>cwBill^V<esc><cr>
  1940.  
  1941.                 will make the command 'T' search for the next
  1942.                 occurrence of the pattern "George" and convert
  1943.                 it to "Bill".
  1944.             
  1945.  
  1946.     2.10 IBM EDIT KEYS
  1947.     ----------------------------------------------------------------------
  1948.     
  1949.     IBM EDIT AND DISPLAY CONTROL KEYS
  1950.     -----------------------------------------------------------------------
  1951.     Left-arrow    Cursor left 1 or 4 characters (same as 'h 4h')
  1952.     Right-arrow    Cursor right 1 or 4 characters (same as 'l 4l')
  1953.     Up-arrow    Cursor up 1 or 4 lines (same as 'k 4k')
  1954.     Down-arrow    Cursor down 1 or 4 lines (same as 'j 4j')
  1955.  
  1956.     Pg Dn        Jump ahead one screenfull (same as <ctl-F>)
  1957.     Pg Up        Jump back one screenfull (same as <ctl-B>)
  1958.     Home         Jump to first line (same as '1G')
  1959.     End        Jump to last line (same as 'G')
  1960.  
  1961.     Del         Delete 1 character (same as 'x 4x')
  1962.     Insert         Insert text (same as 'i')
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  1980.  
  1981.  
  1982.  
  1983.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 31
  1984.  
  1985.  
  1986.     3.0  LINE RANGE SPECIFICATION
  1987.     =======================================================================
  1988.         Line ranges are specified in the form
  1989.        
  1990.         [spec1,[spec2]]
  1991.        
  1992.         If both spec1 and spec2 are missing, the implied range is simply
  1993.         the current line.  
  1994.        
  1995.         If spec2 is missing, the implied range is spec1.
  1996.        
  1997.         Spec2 must be greater than or equal to spec1 or an error message
  1998.         will be generated.
  1999.        
  2000.         The spec values may be an integer line number, "." to represent the
  2001.         current line, "$" to represent the last line, "'a" to represent the
  2002.         line named "a" (see mx command, Section 2.7), "%" as a shorthand to
  2003.         indicate all lines, or a pattern search "/string/".  Any of these
  2004.         spec values except % may be followed by a "+n" or "-n" to indicate
  2005.         a count of lines above or below the spec.  Alternatively, "+++" is
  2006.         equivalent to "+3" for example.
  2007.        
  2008.         Spec EXAMPLES:
  2009.         
  2010.         4,30        Line numbers 4 through 30.
  2011.         
  2012.         .,$        Current line through last line.
  2013.         
  2014.         'a,'b        Lines named (see mx command, Section 2.7) 'a through 'b.
  2015.         
  2016.         'a,.        Line 'a through the current line.
  2017.         
  2018.         %        Lines 1 through last line (synonymous with 1,$).
  2019.         
  2020.         (nothing)    Current line only
  2021.         
  2022.         /Dorothy/    Next line on which the string "Dorothy" appears
  2023.         
  2024.         .,.+4        Current line through next four lines
  2025.         
  2026.         .,.++        Current line through next two lines
  2027.         
  2028.         ---        Third line above current line ("." is default)
  2029.         
  2030.         /Sam/++        Second line below line where "Sam" occurs
  2031.         
  2032.         $-1        One line above last line
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2046.  
  2047.  
  2048.  
  2049.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 32
  2050.  
  2051.  
  2052.     4.0 TEXT FILL AND CENTERING FEATURES
  2053.     =======================================================================
  2054.     With the ":fill" and ":center" commands, you can do elementary
  2055.     word processing within Oak Hill Vi (TM).  
  2056.  
  2057.     4.1 TEXT FILL FEATURE 
  2058.     --------------------------------------------------------------------
  2059.         The "fill" feature allows you to clean up "ragged" lines of varying
  2060.         length will a single command.  This function is sometimes called
  2061.         "formatting."  The range of text to be filled may be specified with
  2062.         a line range specification, or you can use the ":fillp" command to
  2063.         fill text as you edit.
  2064.         
  2065.         For example, suppose you have entered and edited text in the
  2066.         following "ragged" form --
  2067.         
  2068.             Man is a singular creature.  He has a set of gifts
  2069.             which make him unique among the animals: so that 
  2070.             unlike them, he
  2071.             is not a figure in the landscape -- he is a shaper
  2072.             of the landscape.  
  2073.             In body
  2074.             and in mind he is the explorer of nature, the 
  2075.             ubiquitous animal, who
  2076.             did not
  2077.             find but has made his home in every continent.
  2078.         
  2079.         By issuing a single command, Oak Hill Vi (TM) will replace this
  2080.         paragraph with the following neatly filled text --
  2081.  
  2082.                 Man is a singular creature.  He has a set of gifts
  2083.                 which make him unique among the animals: so that unlike
  2084.                 them, he is not a figure in the landscape -- he is a
  2085.                 shaper of the landscape.  In body and in mind he is the
  2086.                 explorer of nature, the ubiquitous animal, who did not
  2087.                 find but has made his home in every continent.
  2088.             
  2089.     EXAMPLES:
  2090.  
  2091.     :fillp<cr>    will fill the paragraph where the cursor is located
  2092.     :fill<cr>    will fill the current line only
  2093.     :'a,.fill<cr>    will fill the line marked "a" to the current line
  2094.     :%fill<cr>    will fill the entire file
  2095.  
  2096.              If the last (non-white-space) character on a line is an
  2097.              end-of-sentence character ('.', '?', or '!'), that line will
  2098.              be followed by two spaces in the filled text.  
  2099.  
  2100.              When filling text: 
  2101.  
  2102.              Blank lines are not affected, so paragraphing will be
  2103.              preserved.
  2104.  
  2105.              Lines whose first non-white space character is a '.'(period)
  2106.              will not be affected, so any UNIX nroff/troff command lines
  2107.              (like .P, .sp etc.) will not be altered.  
  2108.     
  2109.              Lines whose first non-white space character is a ^M or ^L will
  2110.  
  2111.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2112.  
  2113.  
  2114.  
  2115.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 33
  2116.  
  2117.  
  2118.              not be altered.
  2119.      
  2120.              Lines that begin with a <ctl-X> will not be altered.  This
  2121.              feature lets you explicitly "protect" lines from the fill
  2122.              function with a character that can be removed later by a
  2123.              global substitution.
  2124.  
  2125.              Any control characters present in the text are "not counted"
  2126.              in performing the fill operation.  For example the strings 
  2127.  
  2128.                   ^Uhello^T
  2129.         
  2130.              and
  2131.          
  2132.                   hello
  2133.     
  2134.              are both counted as occupying five columns.  This lets you
  2135.              imbed printer control characters in the text without affecting
  2136.              the "fill" of the final text.  These control characters can be
  2137.              expanded to longer control sequences (if required) by a global
  2138.              substitution or with the "page" program described below.
  2139.  
  2140.         The text fill operation is reversible with the "u" (undo) command.
  2141.  
  2142.         Note: It is good practice to fill modest-sized blocks of text at a
  2143.         time.  Because the undo function must "remember" the text block the
  2144.         way it was before filling, the program must find enough heap memory
  2145.         to hold the "old" version.  The program will not abort if you
  2146.         attempt to fill too much text at once; it will simply generate a
  2147.         warning message asking you if you wish to proceed even though the
  2148.         fill will not be reversible.  Of course if you wish to fill a large
  2149.         file all at once you can always put a safety copy of the file on
  2150.         disk with the ":w filename<cr>" command.
  2151.  
  2152.         The fill operation will observe a right margins set by rmar.  The
  2153.         left margin will be "copied" from the current line.  The left
  2154.         margin may be any number of consecutive spaces or tab characters.
  2155.         
  2156.         Example: if rmar=70 and the current line has two tab characters at
  2157.         the front of the line, the text will be filled with a right margin
  2158.         at the 70th column, and the left margin will be 16 columns (two tab
  2159.         characters) for every line in the fill range.  The value for rmar
  2160.         may be set to any number from 20 to 160, but the fill operation
  2161.         will be rejected if rmar is less than 20 characters from the left
  2162.         margin.  
  2163.        
  2164.         Note: for a given selection of margin settings the results of fill
  2165.         operations will be the same whether the line number option, ":set
  2166.         nu<cr>" has been activated or not.  If the option is "on", the text
  2167.         will appear on the screen to be right-shifted by 8 columns to leave
  2168.         room for the line number, but the margins and line lengths in the
  2169.         actual text will be the same as if the line number option were
  2170.         turned off.
  2171.  
  2172.         Text is generally easier to edit if each new sentence begins on a
  2173.         new line.  Once text has been filled, it becomes harder to edit
  2174.         because a new sentence may begin anywhere.  To make it easier, use
  2175.         the "rfill" command (mnemonic - "reverse fill" or "roff fill").
  2176.  
  2177.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2178.  
  2179.  
  2180.  
  2181.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 34
  2182.  
  2183.  
  2184.         This command works like "fill" except that (1) every new sentence
  2185.         (defined below) is forced to begin on a new line, and (2) the left
  2186.         margin is forced to zero.  "rfillp" is like "rfill" except that
  2187.         only a single paragraph (the one in which the cursor is located)
  2188.         will be affected.
  2189.  
  2190.     EXAMPLES:
  2191.  
  2192.     :'a,'brfill<cr>        will "reverse fill" text from lines "a" to "b"
  2193.     :rfillp<cr>        will "reverse fill" the current paragraph
  2194.  
  2195.         Oak Hill Vi (TM) assumes a new sentence has begun if it finds an
  2196.         end-of-sentence character followed by two spaces, or an
  2197.         end-of-sentence character that is the last non-white-space
  2198.         character on the line.  
  2199.  
  2200.         If you use the "fillp" and "rfillp" operations frequently, don't
  2201.         forget the convenience of the "map" command to simplify your
  2202.         typing.  We recommend commands like
  2203.  
  2204.         :map > :fillp^M<cr>
  2205.         :map < :rfillp^M<cr>
  2206.  
  2207.         for your VISETUP.VI file (see the "SETUP FILE" section).  Then when
  2208.         you wish to fill the text in a paragraph, all you have to do is
  2209.         issue the command ">" or "<".
  2210.  
  2211.     4.2 TEXT CENTERING FEATURE 
  2212.     --------------------------------------------------------------------
  2213.         The "center" command allows you to center one or more lines of
  2214.         text.  As in the "fill" command, control characters are ignored in
  2215.         calculating where to start the line.  This allows you to place
  2216.         printer control characters in-line with the text without affecting
  2217.         centering.
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2244.  
  2245.  
  2246.  
  2247.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 35
  2248.  
  2249.  
  2250.     5.0 SETUP FILE "VISETUP.VI"
  2251.     =======================================================================
  2252.         If you have a standard set of options or commands you would like
  2253.         exercised automatically every time the program loads, they may be
  2254.         entered into a special file for that purpose called VISETUP.VI.
  2255.  
  2256.         Every time Oak Hill Vi (TM) is loaded, it looks for VISETUP.VI
  2257.         first in the current directory.  If it is not found there, the
  2258.         MS-DOS PATH environment variable is fetched, and each directory in
  2259.         the path is searched in turn until the file is found.  If the file
  2260.         is not found, all default variables are used.  Therefore, a good
  2261.         place to store your "basic" VISETUP.VI file is wherever you have
  2262.         stored the Oak Hill Vi executable file.  
  2263.  
  2264.         If you'd like to have editing features that are customized for
  2265.         particular text files, just store a customized VISETUP.VI in the
  2266.         same directory as the text file, and make that directory your
  2267.         default directory as you edit.
  2268.  
  2269.         If you want to check the directory in which Oak Hill Vi (TM) found
  2270.         your VISETUP.VI file, use the ":set<cr>" command.  The first line
  2271.         of the output from this command will show where the VISETUP.VI
  2272.         file, if any, was found.
  2273.  
  2274.         An example of a setup file that (a) automatically invokes line
  2275.         numbering, (b) sets a margin wrap at 10 spaces, (c) maps the
  2276.         command ">" into a fill-paragraph command, (d) maps "<" into
  2277.         fill-paragraph with-each-sentence-on-a-new-line command, (e) sets
  2278.         the right margin for text fills at column 75, and (f) jumps
  2279.         immediately to the last line of the file, is given by the
  2280.         seven-line setup file --
  2281.  
  2282.         :set nu
  2283.         :set wm=10
  2284.         :map > :fillp^M
  2285.         :map < :rfillp^M
  2286.         :set rmar=75
  2287.         G
  2288.  
  2289.         Each command must appear on a separate line.
  2290.  
  2291.         Note that if a carriage return is required as part of the command
  2292.         itself (as in the "map" commands), it must appear explicitly -- the
  2293.         carriage return at the end of each line in VISETUP.VI doesn't
  2294.         count!  (If you are using Oak Hill Vi (TM) to create VISETUP.VI,
  2295.         just "quote" the carriage return by preceding it with a <ctl-V>.)
  2296.         It will appear as "^M".
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.  
  2306.  
  2307.  
  2308.  
  2309.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2310.  
  2311.  
  2312.  
  2313.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 36
  2314.  
  2315.  
  2316.     6.0 MEMORY AND FILE SIZE CONSIDERATIONS
  2317.     =======================================================================
  2318.         The current version of Oak Hill Vi (TM) does all editing on buffers
  2319.         stored in a core memory "heap".  Except when reading and writing
  2320.         files, the program does not access disk storage.  This has the
  2321.         advantage of making the program very fast, as well as reducing the
  2322.         power consumption and noise level in battery-powered lap-top
  2323.         portable computers with disk drives.  It has the disadvantage of
  2324.         limiting the maximum-sized file you can edit.
  2325.  
  2326.     Maximum file sizes for the two program models are:
  2327.  
  2328.                   Approximate           Available
  2329.                   Max File Size         Machine Memory
  2330.         -----------------------------------------------------
  2331.         Standard Model  250,000 characters    640K bytes 
  2332.         Compact Model    35,000 characters    140K bytes
  2333.  
  2334.         Oak Hill Vi (TM) makes its own internal checks on the memory heap
  2335.         as you use it.  You will receive warning messages as you approach
  2336.         the end of the available heap.  When such a message appears and you
  2337.         are editing a large file, it is best to save your work, exit the
  2338.         program, and "slice" the file into smaller sub-files using the
  2339.         special read routine described below or the separate "SLICE"
  2340.         utility program described in the next section.
  2341.  
  2342.         Heap warning messages may also appear after very long editing
  2343.         sessions on files that are below the maximum sizes shown above.
  2344.         This is because the overhead of memory management is not entirely
  2345.         recoverable after every editing change, and eventually the heap
  2346.         becomes exhausted.  In this case, the best thing to do is simply to
  2347.         write out the buffer and quit ("ZZ" or ":wq"), and restart the
  2348.         program.  
  2349.  
  2350.         If warning messages are ignored and the heap becomes corrupted, the
  2351.         program will terminate abruptly, and all editing done since the
  2352.         last save will be lost.  The abort is necessary since any attempt
  2353.         to write out a corrupted heap would destroy an already-saved file.
  2354.  
  2355.         If you wish, you can monitor the status of the memory heap with the
  2356.         command ":heap<cr>".  This will show the size of the heap that Oak
  2357.         Hill Vi (TM) still has available.  Chunks of memory under 500 bytes
  2358.         are not counted.  The ":clear<cr>" works like ":heap<cr>" except
  2359.         that it will first free any memory held by the yank/delete buffers
  2360.         and all the named buffers.
  2361.  
  2362.         Another way to monitor remaining available memory is to use the
  2363.         shell escape command, ":!<cr>", and run the DOS chkdsk command.
  2364.  
  2365.         If you use core-resident programs (like Borland's "Sidekick"), it
  2366.         is best to have these programs loaded before you run Oak Hill Vi
  2367.         (TM).  Do not start core-resident programs from the Standard Model
  2368.         Oak Hill Vi shell escape.  If you do, you will "box in" Oak Hill Vi
  2369.         and the heap will exhaust almost immediately!  
  2370.  
  2371.         "Boxing in" is not a problem with the Compact Model because that
  2372.         model requests its full allotment of 64K as soon as the program
  2373.         loads.  If you wish to use Oak Hill Vi (TM) as one of several
  2374.  
  2375.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2376.  
  2377.  
  2378.  
  2379.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 37
  2380.  
  2381.  
  2382.         core-resident programs you should use the Compact Model.  Note
  2383.         that other than the shell escape feature, no explicit support is
  2384.         provided to do make Oak Hill Vi (TM) "core-resident".
  2385.  
  2386.         If you wish to edit a file that is larger than (or even close to)
  2387.         the maximum sizes shown, we recommend that you first break the file
  2388.         into "chapters" or major sections of about half the maximum sizes
  2389.         shown, using the "slice" utility and/or the ":r n1 n2 filename"
  2390.         command described below.
  2391.  
  2392.         Example:  Suppose the ASCII file "george" contains 400,000
  2393.         characters.  Assuming an average of 50 characters per line, george
  2394.         contains about 8000 lines.  Therefore to break george into four
  2395.         files, the following sequence of Oak Hill Vi (TM) commands may be
  2396.         used.
  2397.  
  2398.         vi temp
  2399.         :r 1 2000 george
  2400.         :w chap1
  2401.         dG
  2402.         :r 2001 4000 george
  2403.         :w chap2
  2404.         dG
  2405.         :r 4001 6000 george
  2406.         :w chap3
  2407.         dG
  2408.         :r 6001 8000 george
  2409.         :w chap4
  2410.         :q!
  2411.  
  2412.         These commands will break george into four files called chap1,
  2413.         chap2, chap3, and chap4.  These may be edited separately and later
  2414.         recombined with the MS-DOS command --
  2415.  
  2416.     copy chap1+chap2+chap3+chap4 george    or      copy chap* george
  2417.  
  2418.         See the discussion of the "slice" program below for another
  2419.         approach to examining and breaking apart large files.
  2420.  
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2442.  
  2443.  
  2444.  
  2445.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 38
  2446.  
  2447.  
  2448.     7.0 "SLICE" UTILITY PROGRAM
  2449.     ========================================================================
  2450.         The "slice" utility program may be used to (A) count the lines,
  2451.         words, and characters in a file (B) list a designated range of
  2452.         lines (C) cut a file into smaller, easier-to-edit sub-files (D)
  2453.         find good "cutpoints" for a large file by searching for specified
  2454.         character strings in the file.
  2455.            
  2456.     -----------------------------------------------------------------
  2457.     (A) Counting lines, words, and characters
  2458.  
  2459.     Usage:        slice filename1 [filename2 ...]
  2460.  
  2461.     This usage will produce a one-line message telling how many total
  2462.     lines, words (character strings separated by white space), and
  2463.     characters a given file has.
  2464.     
  2465.     EXAMPLE:    slice george sam bill
  2466.     
  2467.     This would produce three messages like the following --
  2468.     
  2469.             "george" has 122 lines, 916 words, 4562 characters
  2470.             "sam" has 14 lines, 102 words, 706 characters
  2471.             "bill" has 2034 lines, 11301 words, 58931 characters
  2472.             
  2473.     -----------------------------------------------------------------
  2474.     (B),(C) Listing and cutting a designated range of lines.
  2475.     
  2476.     Usage:        slice n1 [n2] [^]filename1 [> filename2]
  2477.  
  2478.         To help you decide where to break a file, you can list selected
  2479.         lines of a file with this command.  If n1 and n2 are specified,
  2480.         lines n1 through n2 will be sent to the screen.  If only n1 is
  2481.         specified, all lines from n1 to the end of the file will will be
  2482.         sent to the screen.  If the filename is preceded by a carot (^), a
  2483.         line number will precede the listing of each line.  
  2484.  
  2485.         If the output is redirected with the ">" character, the designated
  2486.         file segment will be written into filename2.  This is how the file
  2487.         can be split.
  2488.  
  2489.     EXAMPLE:
  2490.     
  2491.     Suppose you use 
  2492.     
  2493.         slice 200 400 ^george
  2494.         
  2495.         to determine that a good breakpoint in george comes at line 263,
  2496.         where a major text heading begins.
  2497.     
  2498.     You may then use
  2499.     
  2500.         slice 1 262 george > george1
  2501.         slice 263 george > george2
  2502.         
  2503.     to create the two smaller sub-files george1 and george2.
  2504.  
  2505.     -----------------------------------------------------------------
  2506.  
  2507.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2508.  
  2509.  
  2510.  
  2511.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 39
  2512.  
  2513.  
  2514.     (D) Finding cutpoints with a string search
  2515.  
  2516.     Usage:        slice // filename1 [filename2 ...]
  2517.             slice %% filename1 [filename2 ...]
  2518.         
  2519.         These commands will accept the list of filenames and then ask you
  2520.         for a search string on a separate input line.  The program will
  2521.         then supply a line number and list every line where it finds the
  2522.         specified string.  The first ("//") version requires an exact match
  2523.         to the search string.  The second ("%%") version allows the use of
  2524.         meta characters (see the string search discussion in the "TEXT
  2525.         SEARCH" section above).
  2526.  
  2527.         It can be tedious to list hundreds of lines looking for a good
  2528.         cutpoint.  If you already know some of the text on the line where
  2529.         you would like to make a cut (for example the title of a major
  2530.         heading), you can use these commands to locate the cutpoint more
  2531.         quickly.
  2532.  
  2533.     EXAMPLE:        slice // george
  2534.     
  2535.     will produce the query    
  2536.                 Enter search string:
  2537.                 
  2538.         Suppose you supply a string from heading that you know starts a
  2539.         major section of your file.
  2540.     
  2541.                 MARKET ANALYSIS
  2542.                 
  2543.     The program would then scan the entire file george and produce an
  2544.     output like this --
  2545.     
  2546.     george:
  2547.        388  PRELIMINARY MARKET ANALYSIS RESULTS
  2548.        
  2549.     You would then know to cut the file at line 388.
  2550.     
  2551.     Entering the slice command with no arguments will print a summary of
  2552.     the command syntax.  
  2553.  
  2554.  
  2555.  
  2556.  
  2557.  
  2558.  
  2559.  
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2574.  
  2575.  
  2576.  
  2577.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 40
  2578.  
  2579.  
  2580.     8.0 "PAGE" TEXT PROCESSING PROGRAM
  2581.     =======================================================================
  2582.         The "page" program is a simple utility to add top-of-page and
  2583.         bottom-of-page processing (including page numbers, headers, and
  2584.         footers) needed before sending a file to a printer.  "Page" will
  2585.         also translate user-settable characters into special strings to
  2586.         control printer underlining, bold, or other special functions.
  2587.  
  2588.         With the "fill" function of Oak Hill Vi (TM) and the "page"
  2589.         program, Oak Hill Vi makes a fast, simple, word processor as well
  2590.         as a text editor.
  2591.  
  2592.     Usage:    
  2593.         page [-Tn] [-Bn] [-Ln] [-Nn] [-Sn] [-Cn] filename1 [> temp]
  2594.     
  2595.     The "n" values are the following integer constants.
  2596.     
  2597.     -Tn number of blank lines at the top of the page (default=5).
  2598.     -Bn number of blank lines at the bottom of the page (default=3).
  2599.     -Ln length of page in lines (default=66).
  2600.     -Nn sets page on which first header appears (default=2).
  2601.     -Sn sets page number value in first-appearing header (default=2).
  2602.     -Cn sets center column for headers and footers (default=30).
  2603.  
  2604.         The processed files will be printed to the screen with page
  2605.         spacing, page headers, and numbers inserted.  (No page numbers will
  2606.         be inserted if there are less than 3 blank lines at the top of the
  2607.         page.)  If the "> temp" is appended, the output will be placed in
  2608.         file "temp" where it can be sent to a hard copy printer.
  2609.  
  2610.     EXAMPLE:
  2611.  
  2612.         page -L88 george > ggg
  2613.     
  2614.         will put a ready-to-print version of file "george" into the file
  2615.         "ggg".  The file "ggg" will be set up for an 88-lines-to-the-page
  2616.         printing.
  2617.  
  2618.     8.1 PAGE HEADERS AND FOOTERS
  2619.     --------------------------------------------------------------------
  2620.         Page "headers" and "footers" can be added to the printed output by
  2621.         imbedding the strings in the text with the syntax:
  2622.  
  2623.         .HEADER=headerstring
  2624.         .FOOTER=footerstring
  2625.  
  2626.         Everything past the equal sign "=" will appear in a header or
  2627.         footer string.
  2628.  
  2629.     EXAMPLE:
  2630.  
  2631.         If the file "george" has the lines (with the '.' in column 1)
  2632.  
  2633.     .HEADER=This Is A Header
  2634.     .FOOTER=This Is A Footer
  2635.  
  2636.         page -C25 -S15 george > ggg
  2637.     
  2638.  
  2639.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2640.  
  2641.  
  2642.  
  2643.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 41
  2644.  
  2645.  
  2646.         will put a ready-to-print version of file "george" into file "ggg"
  2647.         with headers and footers centered about column 25.  Page numbering
  2648.         will begin with a "This is a Header -- Page 15" at the top of the
  2649.         first page of output.
  2650.  
  2651.     8.2 CHARACTER TRANSLATION
  2652.     -----------------------------------------------------------------------
  2653.         As it processes a file, "page" will optionally translate
  2654.         user-designated characters into user-designated character strings.
  2655.         By imbedding control characters in the text (which are not
  2656.         "counted" when filling text -- see Section 4), print control such
  2657.         as bold or underlining can be imbedded with the test.
  2658.  
  2659.         The translation table is contained in a separate file called
  2660.         "TRANS.PVI".  Page will search for this file first in the current
  2661.         directory, then in the directory "\BIN", then "\LIB", and finally
  2662.         the root directory "\".  If it cannot find the file, no
  2663.         translations will take place.
  2664.  
  2665.         The following is an example of a legitimate "TRANS.PVI" file
  2666.         format:
  2667.  
  2668.         ; File Start
  2669.         ; Hewlett Packard Thinkjet Translation Codes
  2670.         
  2671.         ^A ^O        ; Bold Off
  2672.         ^B ^N        ; Bold On
  2673.         
  2674.         ^T ^[&d@    ; Underline Off
  2675.         ^U ^[&dD    ; Underline On
  2676.         
  2677.         ^R ^[&k0S    ; Normal Print Pitch
  2678.         ^S ^[&k1S    ; Expanded Print Pitch
  2679.         ^Y ^[&k2S    ; Compressed Print Pitch
  2680.         ^Q ^[&k3S    ; Expanded-Compressed Print Pitch
  2681.         ; File End
  2682.  
  2683.         In this file (as in the Oak Hill Vi (TM) screen display), control
  2684.         characters are indicated by a leading '^' character.  
  2685.  
  2686.         The indicated TRANS.PVI file (supplied on the program disk) will
  2687.         translate every ^U character into the sequence ^[&dD and every ^B
  2688.         character into the sequence ^N.  The following are syntax rules for
  2689.         TRANS.PVI:
  2690.  
  2691.         1. Blank lines are ignored.
  2692.         2. Any text to the right of a ';' character is ignored.
  2693.         3. Any single character except ';' and '^Z' may be translated.
  2694.     
  2695.     EXAMPLE:
  2696.  
  2697.     During editing you enter:
  2698.  
  2699.         ^UFourscore and seven years ago^T, our forefathers brought
  2700.  
  2701.         When run through "PAGE" and the TRANS.PVI table above, this line
  2702.         becomes:
  2703.  
  2704.  
  2705.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2706.  
  2707.  
  2708.  
  2709.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 42
  2710.  
  2711.  
  2712.         ^[&dBFourscore and seven years ago^[&d@, our forefathers brought
  2713.  
  2714.         And when printed on the Thinkjet the phrase "Fourscore and seven
  2715.         years ago" will be printed in bold.
  2716.  
  2717.     8.3 OTHER
  2718.     -----------------------------------------------------------------------
  2719.         A <ctl-L> (form-feed) character at the beginning of any line will
  2720.         cause a skip to the next page.  Any remaining characters on the
  2721.         line are ignored.
  2722.  
  2723.         Entering the page command with no arguments will print a summary of
  2724.         the command syntax.
  2725.     
  2726.     
  2727.     9.0 OAK HILL Vi (TM) and UNIX (TM) Vi
  2728.     =======================================================================
  2729.     
  2730.         In building Oak Hill Vi (TM) we have tried to include all of UNIX
  2731.         Vi's most commonly used features.  We apologize if we've left out
  2732.         one of your favorites!  Generally, if a feature that you like is
  2733.         missing, you'll find that there is another reasonable (though
  2734.         perhaps less familiar) way to do the same thing.  
  2735.  
  2736.         We are continuing to improve Oak Hill Vi (TM), adding features as
  2737.         requested while attempting keeping the program compact, fast, and
  2738.         all "core-based".  If you have special interest in a feature you
  2739.         would like to see added to Oak Hill Vi (TM), please write us to
  2740.         tell us about it.  If you are among the first three people to
  2741.         request a new feature that is subsequently added, you will receive
  2742.         a free update to the program.
  2743.  
  2744.         Some of the differences between UNIX (TM) Vi and Oak Hill Vi (TM)
  2745.         that you may find important are:
  2746.  
  2747.         1. The current version of Oak Hill Vi allows lines to be no more
  2748.         than 512 characters.  Most UNIX Vi editors allow 1024 characters.
  2749.  
  2750.         2. The entire "ex" editor command set available under UNIX Vi is
  2751.         not available on Oak Hill Vi (TM).  However most of the commonly used
  2752.         "ex" commands have been included.
  2753.     
  2754.     
  2755.     10.0 MISCELLANEOUS INFORMATION
  2756.     =======================================================================
  2757.  
  2758.         DOS ASCII FILES AND THE "LINE TOO LONG" ERROR MESSAGE:
  2759.  
  2760.         The standard DOS ASCII text file indicates the end of a line of
  2761.         text with a carriage-return/line-feed (CR-LF) character sequence.
  2762.         Oak Hill Vi (TM) will edit any text file that uses this sequence or a
  2763.         single line-feed (LF) as the end-of-line character.
  2764.  
  2765.         In some cases you may encounter files that use only a single
  2766.         carriage return (CR) as the end-of-line character.  Some text
  2767.         editors or downloading routines may produce such files.  If you
  2768.         attempt to edit such a file with Oak Hill Vi (TM) you may get a
  2769.         "Line too long" or "File empty" error message.  However, you may
  2770.  
  2771.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2772.  
  2773.  
  2774.  
  2775.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 43
  2776.  
  2777.  
  2778.         convert such a file to a standard DOS ASCII file with the
  2779.         CR_CRLF.EXE utility supplied with Oak Hill Vi.  The command
  2780.  
  2781.         CR_CRLF FILE1 FILE2
  2782.  
  2783.         will copy "FILE1" to "FILE2" and substitute a CR-LF pair for every
  2784.         CR that is not already followed by a LF.
  2785.  
  2786.         Be especially careful about trying to edit non-ASCII files, for
  2787.         example files that end in .EXE or .COM.  The results can be
  2788.         unpredictable.  If you should accidentally read in an non-ASCII
  2789.         file, simply exit with a ":q!<cr>".  It is important that you not
  2790.         make any changes in the file, because if you then attempt to write
  2791.         it back out to disk you will destroy the original file.
  2792.  
  2793.         In many cases, non-DOS-ASCII files will cause the program to
  2794.         terminate during the file-read sequence because of the line-length
  2795.         limitation (see below).
  2796.  
  2797.     LINE LENGTH:
  2798.  
  2799.         Lines are limited to a maximum of 512 characters each.  If this
  2800.         length is exceeded either while editing files or reading files into
  2801.         the buffer, error messages will be generated.
  2802.  
  2803.         COMMAND ABBREVIATIONS:
  2804.  
  2805.         For commands entered after the colon ":" you only need to enter
  2806.         enough letters to make the chosen command unique.  For example,
  2807.         ":sh<cr>" is equivalent to ":shell<cr>", and ":up<cr>" is
  2808.         equivalent to ":upcase<cr>".
  2809.         
  2810.         GREETING-SCREEN PAUSE:
  2811.         
  2812.     Every time the program is started, Oak Hill Vi (TM) pauses and
  2813.     requires an explicit carriage-return to proceed beyond the greeting
  2814.     screen.  You can remove the necessity for a carriage return by
  2815.     installing a ":set nopress<cr>" command in a VISETUP.VI file.  See
  2816.     Sections 5 and 2.9.  (The Registered version of Oak Hill Vi does
  2817.     not generate a pause.)
  2818.  
  2819.         INTERNAL ERRORS:
  2820.  
  2821.         If you receive a "Corrupted Pointer Structure -- Program Must
  2822.         Abort" message, and you have not received any warning messages
  2823.         about heap exhaustion, then you may have experienced an internal
  2824.         program error.  Please contact Oak Hill Software if this happens,
  2825.         and supply all the information you can about how the error
  2826.         occurred, including any error messages you may have received at the
  2827.         time of the abort.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2838.  
  2839.  
  2840.  
  2841.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 44
  2842.  
  2843.  
  2844.     11.0 COMMAND INDEX AND QUICK REFERENCE
  2845.     =======================================================================
  2846.     Command   Action                                                Section
  2847.     -------   ------                                                -------
  2848.     A ....... append text at end of line ........................... 2.3
  2849.     B ....... back up one Word ..................................... 2.1
  2850.     C ....... change remainder of line ............................. 2.5
  2851.     D ....... delete remainder of line ............................. 2.4
  2852.     E ....... move to end of next Word.............................. 2.1
  2853.     F ....... Fx - find character x (reverse search) ............... 2.2
  2854.     G ....... jump to end of file (or specified line number) ....... 2.1
  2855.     H ....... jump to first complete line on screen ................ 2.1
  2856.     I ....... insert text at front of line ......................... 2.3
  2857.     J ....... join line below with current line .................... 2.7
  2858.     L ....... jump to last complete line on screen ................. 2.1
  2859.     M ....... jump to middle line on screen ........................ 2.1
  2860.     N ....... move backward to previous pattern match .............. 2.2
  2861.     O ....... open file for text above current line ................ 2.3
  2862.     P ....... put stored lines (string) above (before) cursor ...... 2.7
  2863.     R ....... replace (overstrike) text ............................ 2.7
  2864.     S ....... substitute text for current line ..................... 2.7
  2865.     T ....... tx find char following character x (reverse search)... 2.7
  2866.     W ....... move forward one Word ................................ 2.1
  2867.     X ....... delete previous character ............................ 2.7
  2868.     Y ....... yank one line ........................................ 2.6
  2869.     Z ....... ZZ - write out file and quite editor ................. 2.8
  2870.     
  2871.     a ....... append ............................................... 2.3
  2872.     b ....... move back one word ................................... 2.1
  2873.     c ....... change ............................................... 2.5
  2874.     d ....... delete ............................................... 2.4
  2875.     e ....... move to end of word .................................. 2.1
  2876.     f ....... fx find character x (forward search) ................. 2.2
  2877.     h ....... move left one character .............................. 2.1
  2878.     i ....... insert ............................................... 2.3
  2879.     j ....... move down one line ................................... 2.1
  2880.     k ....... move up one line ..................................... 2.1
  2881.     l ....... move right one character ............................. 2.1
  2882.     m ....... mark line/character position ......................... 2.9
  2883.     n ....... move forward to next pattern match ................... 2.2
  2884.     o ....... open file for new text below current line ............ 2.3
  2885.     p ....... put stored lines (string) below (after) cursor ....... 2.7
  2886.     r ....... replace single character ............................. 2.7
  2887.     s ....... substitute text for current character ................ 2.7
  2888.     t ....... tx find char preceding character x (forward search)... 2.2
  2889.     u ....... undo last text change ................................ 2.3
  2890.     v ....... print greeting message and version number ............ 2.9
  2891.     w ....... move forward to next word ............................ 2.1
  2892.     x ....... delete one character ................................. 2.7
  2893.     y ....... yank ................................................. 2.6
  2894.     z ....... redraw screen around current line .................... 2.2
  2895.     
  2896.     <ctl-B>.. move back one screenfull ............................. 2.1
  2897.     <ctl-D>.. scroll down 8 lines .................................. 2.1
  2898.     <ctl-E>.. scroll up one line maintaining cursor if possible .... 2.1
  2899.     <ctl-F>.. move forward one screenfull .......................... 2.1
  2900.     <ctl-H>.. backspace ............................................ 2.1,3
  2901.     <ctl-L>.. redraw screen ........................................ 2.9
  2902.  
  2903.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2904.  
  2905.  
  2906.  
  2907.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 45
  2908.  
  2909.  
  2910.     <ctl-U>.. scroll up 8 lines..................................... 2.1
  2911.     <ctl-V>.. accept next character literally ...................... 2.3
  2912.     <ctl-W>.. backspace over last word ............................. 2.3
  2913.     <ctl-Y>.. scroll down one line maintaining cursor if possible .. 2.1
  2914.     
  2915.     " ....... name buffer 'x' for yank, delete, or put command ..... 2.9
  2916.     $ ....... move to last character on line ....................... 2.1
  2917.     % ....... move to matching {}() character ....................... 2.1
  2918.     ' ....... go to first character of the line named 'x ........... 2.1
  2919.     ( ....... move to previous sentence ............................ 2.1
  2920.     ) ....... move to next sentence ................................ 2.1
  2921.     + ....... move to first character of following line ............ 2.1
  2922.     , ....... repeat last 'f' or 'F' command but reverse direction.. 2.2
  2923.     - ....... move to first non-white character of previous line ... 2.1
  2924.     . ....... repeat last command .................................. 2.3
  2925.     / ....... forward pattern search................................ 2.2
  2926.     0 ....... move to first character on line ...................... 2.1
  2927.     ; ....... repeat last 'f' or 'F' command ....................... 2.2
  2928.     : ....... colon command series (see below) ..................... 2.7,8,9
  2929.     ? ....... reverse pattern search................................ 2.2
  2930.     ^ ....... move to first non-white character in line ............ 2.1
  2931.     ` ....... go to line and character named `x .................... 2.1
  2932.     ~ ....... reverse case of character ............................ 2.7
  2933.     ! ....... filter lines through external program ................ 2.9
  2934.     
  2935.     
  2936.     :! ...... escape to MS-DOS ..................................... 2.9
  2937.     :abbr ... abbreviate string1 by macroname while in input mode... 2.7
  2938.     :center.. center text .......................................... 2.9
  2939.     :clear .. clear buffers and count remaining heap ............... 2.9
  2940.     :d ...... delete lines ......................................... 2.7
  2941.     :e ...... edit another file .................................... 2.8
  2942.     :f ...... print file name, line number, total characters, etc. . 2.9
  2943.     :fill ... fill text ............................................ 2.9
  2944.     :fillp .. fill paragraph ....................................... 2.9
  2945.     :lowcase  convert text to lower case............................ 2.9
  2946.     :map .... map single character into a command sequence.......... 2.9
  2947.     :m ...... move lines ........................................... 2.7
  2948.     :n ...... edit next file in sequence ........................... 2.1
  2949.     :p ...... print lines on screen ................................ 2.2,7
  2950.     :q ...... quit editor........................................... 2.8
  2951.     :r ...... read file from disk................................... 2.8
  2952.     :rfill .. reverse fill text .................................... 2.9
  2953.     :rfillp . reverse fill paragraph ............................... 2.9
  2954.     :s ...... substitute ........................................... 2.7
  2955.     :set .... set parameter (see below) ............................ 2.9
  2956.     :shell .. escape to MS-DOS ..................................... 2.9
  2957.     :heap ... measure remaining heap ............................... 2.9
  2958.     :t ...... transfer (copy) lines ................................ 2.7
  2959.     :upcase . convert text to upper case............................ 2.9
  2960.     :w ...... write buffer to disk.................................. 2.8
  2961.     :<n> .... move to line n ....................................... 2.1
  2962.     
  2963.     :set ai,noai ......... autoindent on/off (default noai) ........ 2.7
  2964.     :set aw,noaw ......... autowrite on/off (default aw) ........... 2.7
  2965.     :set beep,nobeep ..... computer speaker on/off (default on) .... 2.7
  2966.     :set colors .......... set foreground & background colors ...... 2.7
  2967.     :set ctr=n ........... set centering column (default n=40) ..... 2.7
  2968.  
  2969.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  2970.  
  2971.  
  2972.  
  2973.          OAK HILL VI (TM) SHAREWARE MANUAL - VERSION 5.6  -- Page 46
  2974.  
  2975.  
  2976.     :set cursor .......... set cursor to box or underscore ......... 2.7
  2977.     :set esc2='x'......... select additional escape character ...... 2.7
  2978.     :set ic,noic ......... ignore case on/off (default noic) ....... 2.7
  2979.     :set idm,noidm ....... print Input Mode message (default idm)... 2.7
  2980.     :set lines=n ......... screen size in lines .................... 2.7
  2981.     :set magic,nomagic ... meta character recognition on/off ....... 2.7
  2982.     :set nu,nonu ......... line number option on/off (default nonu). 2.7
  2983.     :set press,nopress ... greeting screen pause on/off (default on) 2.7
  2984.     :set rmar=n .......... right margin set (default n=75) ......... 2.7
  2985.     :set ts=n ............ set tab stops every n spaces ............ 2.7
  2986.     :set wm=n ............ wrap margin spaces (default n=0) ........ 2.7
  2987.     :set ws,nows ......... wrapscan on search on/off (default nows). 2.7
  2988.  
  2989.  
  2990.  
  2991.  
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.  
  2999.  
  3000.  
  3001.  
  3002.  
  3003.  
  3004.  
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.     COPYRIGHT (C) OAK HILL SOFTWARE INC, APRIL 10, 1991, ALL RIGHTS RESERVED
  3036.  
  3037.